1、id属性
使用了约束中的唯一约束。里面不能出现特殊字符的
2、name属性
没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。里面可以出现特殊字符
Spring和Struts1框架整合的时候:<bean name=”/user” class=””/>
3、class属性
类的全限定名
4、生命周期相关属性
init-method:Bean被初始化的时候执行的方法,需要指定类中要初始化方法名
destroy-method::Bean被销毁的时候执行的方法(Bean是单例创建,工厂关闭时调用)
5、scope作用域属性(作用范围)
可选值:
- singleton:默认的,Spring会采用单例模式创建这个对象
- prototype:多例模式。(Struts2和Spring整合一定会用到)
- request:应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中
- session:应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中
- globalsession:应用在web项目中,必须在porlet环境(有子网站)下使用。但是如果没有这种环境,相当于session
6、工厂相关属性
- factory-bean:指定工厂类bean的id
- factory-method:指定工厂类中创建实例的方法名
<bean id="id1" class="工厂类"></bean>
<bean id="id2" factory-bean="id1" factory-method="工厂类中创建实例的方法名"></bean>