1.<bean>标签 id 和 name 的配置
id : 使用了约束中的唯一约束,里面不可以有特殊字符
name :没有使用约束中的唯一约束,理论上可以重复出现,但在实际开发中不使用,而且在getBean的时候会报错,里面可以有特殊字符
2.<bean>标签的生命周期
init-method : Bean被初始化的时候执行的方法
destroy-method : 在容器销毁时调用的方法
<bean>的生命周期
3.<bean>的作用域
scope属性配置Bean的作用域范围
singletion : 默认值,=true, 在IoC容器中只存在一个Bean实例,以单例方式存在
prototype : 每次从容器中调用Bean时,都会返回一个新实例,即getBean()时等于new对象
request : 每次Http请求都会创建一个新的Bean。仅适用于WebApplicationCotext环境
session : 同一个Http Session共享一个Bean,不同的Session使用不同的Bean。仅适用于WebApplicationCotext环境
globalsession : 必须在prolet环境下使用,仅适用于WebApplicationCotext环境
4.自动装配
由于在手动配置xml过程中,常常发生字母缺漏和大小写等错误,而无法对其进行检查,使得开发效率降低。采用自动装配将避免这些错误,并且使配置简单化。当一个bean节点带有 autowire =" byName"的属性时。
①将查找其类中所有的set方法名,例如setUser,获得将set去掉并且首字母小写的字符串,即user。
②去spring容器中寻找是否有此字符串名称id的对象。
③如果有,就取出注入;如果没有,就报空指针异常。















网友评论