Spring框架学习笔记–Bean
2016/6/4 19:42:10 seventeenWen
Bean有哪些类型的成员变量?
- value:< value../>可以指定任何的基本类型以及String类型
- ref:< ref…/>可以指定任何的Bean对象,作为调用set方法的参数
- bean:某个Bean不想被Spring直接访问,可以设置嵌套Bean,嵌套的Bean不需要指定id
- list,set,map,props:参数为集合。
什么是Bean的自动装配?
通过设置< Bean>的< autowire>和的属性可以无须显示指定依赖Bean:
支持的参数:
- no:不使用自动装配,默认设置。
byName:根据set方法名来进行自动装配,原则是去除set方法前的set小写set后的首字母,和id名相同的Bean完成注入。
public class Person { private String name; public void setName(String name){ this.name=name; } //得到setName去除set得到Name,小写首字母得到name,在容器中找到id等于name的Bean,完成注入
byType:根据set方法的参数类型进行装配。
Bean是怎么创建的?
- 构造器创建Bean
- 通过静态工厂方法创建
- 通过实例工厂创建
通过静态工厂创建Bean对象:
<bean id="" class="静态工厂" factory-method="用哪个方法创建Bean">
<constructor-arg value="根据不同的构造器创建不同的对象" />
<property name="执行set方法" value="执行参数"/>
</bean>
指定了factory-method之后,Spring就不调用构造器创建对象,而是交给静态工厂来创建。
通过实例工厂创建Bean对象:
<bean id="工厂类" class="工厂类名" />
<bean id="" factory-bean="工厂Bean的id" factory-method="创建Bean的方法">
<constructor-arg value="初始化参数" />
</bean>