spring学习之Bean

我们两清 提交于 2020-01-25 05:51:44

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. 自动装配:@
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!