Spring基础-BeanFactory和ApplicationContext

[color=red]bean的创建[/color]
1.通过构造方法创建bean
<bean id="exampleBean" class="ExampleBean">
<constructor-arg><ref bean="fristBean"/><constructor-arg/>
<constructor-arg><ref bean="secondBean"/><constructor-arg/>
<constructor-arg><value>1</value><constructor-arg/>
</bean>
......
2.通过静态工厂方法创建bean
<bean id="exampleBean" class="ExampleFactoryBean"
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" class="..."/>
<bean id="myBean"
factory-bean="myFactoryBean" factory-method="createInstance"/>

[color=red]bean中property元素的定义[/color]
<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

[color=red]自动装配注入对象[/color]
<bean id="" class="" autowire="byName"/>
显示的指定依赖如property和construtor-arg元素,会覆盖自动装配

[color=red]bean的生命周期接口[/color]
org.springframework.beans.factory.InitializingBean接口
org.springframework.beans.factory.DisposableBean接口
通过init-method和destroy-method元素来指定方法执行bean属性设置后的初始化操作,bean销毁回收前操作。
<bean id="" class="" init-method="init"/>
<bean id="" class="" destroy-method="close"/>

[color=red]子bean定义[/color]
<bean id="parentBean" class="ParentBean">
<property name="name"><value>joson</value></property>
<property name="age"><value>20</value></property>
</bean>
<bean id="childBean" class="ChildBean" parent="parentBean">
<property name="name"><value>Peter</value></property>
</bean>
继承,覆盖父类的配置数据,方法

[color=blue]<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/mail.properties</value>
<value>WEB-INF/jdbc.properties</value>
</list>
</property>
</bean>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 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>[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值