Spring基础-BeanFactory和ApplicationContext
bean的创建
1.通过构造方法创建bean
<bean id="exampleBean"
factory-method="createInstance">
<constructor-arg><ref bean="fristBean"/><constructor-arg/>
<constructor-arg><ref bean="secondBean"/><constructor-arg/>
<constructor-arg><value>1</value><constructor-arg/>
</bean>
......
class指定工厂类,factory-method指定工厂方法,必须为static
3.通过实例工厂方法创建bean
<bean id="myFactoryBean"
factory-bean="myFactoryBean" factory-method="createInstance"/>
bean中property元素的定义
<property name="email"><null/></property> null元素指定null值
<property name="email"><value></value></property> 空字符串
java的List,Set,Map和Properties类型对应的元素定义
<props>
<prop key="a">this is a</prop>
<prop key="b">this is b</prop>
</props>
<list>
<value>...</value>
<ref bean="">
</list>
<map>
<entry key="a">
<value>aaa</value>
</entry>
<entry key="b">
<value>bbb</value>
</entry>
</map>
<set>
<value>...</value>
<ref bean="">
</set>
ref元素定义
<ref bean="bean"/> 引用所有定义中的bean
<ref local="localBean"/> 引用同一xml文件中定义的bean
<ref parent="parentBean"/> 引用父ApplicationContext中定义的bean
自动装配注入对象
<bean id="" autowire="byName"/>
显示的指定依赖如property和construtor-arg元素,会覆盖自动装配
bean的生命周期接口
org.springframework.beans.factory.InitializingBean接口
org.springframework.beans.factory.DisposableBean接口
通过init-method和destroy-method元素来指定方法执行bean属性设置后的初始化操作,bean销毁回收前操作。
<bean id="" init-method="init"/>
<bean id="" destroy-method="close"/>
子bean定义
<bean id="parentBean" parent="parentBean">
<property name="name"><value>Peter</value></property>
</bean>
继承,覆盖父类的配置数据,方法
<bean id="propertyConfigurer" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>