spring学习之Bean

Bean的实例化:

  1. 构造器实例化
  2. 静态工厂实例化
  3. 实例工厂实例化

Bean的作用域(常用两种):

  1. singleton:spring容器只会存在一个共享的Bean实例,只要id与该id属性相匹配,就会返回同一个Bean实例。适用于无会话状态(如Dao组件、Service组件)。
  2. prototype:Spring容器会为每个对该Bean的请求都创建一个新的实例,适用于需要保持会话状态的Bean。

Bean的生命周期:

Bean的装配(依赖关系注入)方式:

  1. 基于XML的装配
    1. 设值注入:<property>要求Bean类提供一个默认无参构造方法;并且必须腰围需要注入的属性提供setter方法。
    2. 构造注入:<constructor-arg>来定义构造方法的参数,可以使用其value属性来设置改参数的值。
  2. 基于Annotation(注解)的装配:
    1. @component:泛化表示一个Bean(可以代替2,3,4,但是用2,3,4,更准确)
    2. @Repository:用于数据访问层(Dao层)的表示
    3. @Service:用于业务层(Service层)
    4. @Controller:用在控制层(Controller层)
    5. @Autowired:用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应注解完成Bean的自动装配,默认按照Bean类型装配
    6. @Resource:和Autowired作用一样,但是它默认按照Bean实例名称来进行装配。有name(解析为Bean实例名称)和type(Bean实例类型)两个重要属性。
  3. 自动装配:@
posted @ 2018-11-30 09:19  Page_not_found  阅读(194)  评论(0编辑  收藏  举报