Spring 的Bean管理的常用注解
属性注入的注解(使用注解注入的方式,可以不用提供set方法)
@Value 用于注入普通类型
@Autowired 自动装配 :默认按类型进行装配 按名称注入
@Qualifier 强制使用名称注入
@Resource相当于 @Autowired和@Qualifier 一起使用
Bean 的作用范围的注解
singleton单例
prototype多例
Spring 中的Bean默认情况下是单例模式,在容器分配Bean时,他总是返回同一个实例,但是如果每次向ApplicationContext请求一个Bean的时候需要得到一个不同的实例,需要将Bean定义为原型模式
<bean id="foo" class="com.spring.Foo" singleton="false"/>
基于XMl配置 | 基于注解配置 | |
Bean定义 | <bean id="" class=""/> |
@Component 衍生类: @Repository 持久层 @Service 业务层 @Controller web层 |
Bean 名称 | 通过id或name指定 | @Component(person) |
Bean注入 | <property>或者通过p命名空间 |
@Autowired 按类型注入 @Qualifier 按名称注入 |
生命过程,Bean作用范围 | init-method destory-method 范围scope属性 |
@PostConstruct初始化 @PreDestory销毁 @Scope设置作用范围 |
适合场景 | Bean 来自第三方 | Bean实现类由用户自己开发 |