Spring Bean的生命周期和作用域


1.标签 id 和 name 的配置
 id : 使用了约束中的唯一约束,里面不可以有特殊字符
 name :没有使用约束中的唯一约束,理论上可以重复出现,但在实际开发中不使用,而且在getBean的时候会报错,里面可以有特殊字符
2.标签的生命周期
 init-method : Bean被初始化的时候执行的方法
 destroy-method : 在容器销毁时调用的方法


的生命周期

3.的作用域
 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的对象。
  ③如果有,就取出注入;如果没有,就报空指针异常。

你可能感兴趣的:(Spring Bean的生命周期和作用域)