Spring bean.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.springframework.org/schema/beans
			http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
			<!-- 使用类构造器实例化 -->
			<bean id="personService1" class="service.PersonServiceImpl"></bean>
			<!-- 使用静态工厂方法实例化 -->
			<bean id="personService2" class="service.PersonServiceFactory" factory-method="createPersonService"></bean>
			<!-- 使用实例工厂方法实例化 -->
			<bean id="personServiceFactory" class="service.PersonServiceFactory"></bean>
			<bean id="personService3" factory-bean="personServiceFactory" factory-method="createPersonServiceD"></bean>
</beans>


spring的实例化配置有以上三种方法,都是以单例模式实例化。
参数说明:
scope 默认是single(加载容器时实例化),还有prototype(getBean时实例化)
lazy-init 是否延迟实例化 如果是scope=“single”,那么将在getBean时实例化
init-method 实例化时执行的方法,一般在实例化后执行
destroy-method bean销毁时执行的方法

依赖注入有两种配置方法
<bean id="personDao" class="dao.PersonDaoImpl"></bean> 	
<bean id="personService1" class="service.PersonServiceImpl">
    <!-- ref注入-->
    <property name="personDao" ref="personDao"></property> 
</bean>

<bean id="personService4" class="service.PersonServiceImpl">
				<!-- 内部bean注入 -->
				<property name="personDao">
					<bean class="dao.PersonDaoImpl"/>
				</property>
			</bean>

其中,还可以为service的基本属性注入值,比如service有属性:private String name;
<bean id="personService4" class="service.PersonServiceImpl">
				<!-- 内部bean注入 -->
	<property name="name" value=“hello”>
									</property>
			</bean>

集合属性的注入
<bean id="personService4" class="service.PersonServiceImpl">
<property name="list">
<list>
<value>1</value>
<value>2</value>
</list>
</property>
</bean>

你可能感兴趣的:(java,spring,bean,xml,prototype)