标签的id和name的配置
- id :使用了约束中的唯一约束。里面不能出现特殊字符的。
- name :没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。里面可以出现特殊字符。
- Spring和Struts1框架整合的时候
<bean name="/user" class=""/>
- init-method
- destroy-method
Bean的生命周期的配置
- init-method :Bean被初始化的时候执行的方法
- destroy-method :Bean被销毁的时候执行的方法(Bean是单例创建,工厂关闭)
Bean的作用范围的配置
- scope :Bean的作用范围
- singleton :默认的,Spring会采用单例模式创建这个对象。
- prototype :多例模式。(Struts2和Spring整合一定会用到)
- request :应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中。
- session :应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中。
- globalsession :应用在web项目中,必须在porlet环境下使用。但是如果没有这种环境,相对于session。
Spring的Bean的实例化方式
无参构造方法的方式:
public class Bean {
public Bean(){
System.out.println("Bean的无参构造执行了...");
}
}
配置文件
<!--无参构造方法配置参数-->
<bean id="bean" class="---"/>
静态工厂实例化的方式:
public class BeanFactory{
public static Bean createBean(){
System.out.println("Bean的无参构造执行了...");
return new Bean2();
}
}
配置
<!--无参构造方法配置参数-->
<bean id="bean" class="---" factory-method="createBean"/>
实例工厂实例化的方式
public class BeanFactory{
public Bean createBean(){
System.out.println("Bean的实例工厂执行...");
return new Bean();
}
}
配置
<bean id="beanFactory" class="..."/>
<bean id="bean" factory-bean="beanFactory" factory-method="createBean">