Spring Bean的配置方式及标注(Annotation)配置

Spring框架为Spring Bean的配置提供了多种方式,常见的有通过XML文件的配置,通过标注(Annotation)的配置和基于Java的容器配置。其中基于Java的容器配置往往见于独立运行的Java应用,对于Web应用常见的是XML文件的配置和标注(Annotation)配置。

这里重点介绍Web应用的标注(Annotation)配置。

1. Spring Bean的标注(Annotation)配置

在Spring框架的默认XML配置文件中,通过<context:annotation-config/>可以实现对标注配置的注册。这样Spring框架启动的时候就会首先检查Spring Bean的标注(Annotation)配置。

常见的Spring Bean的标注(Annotation):
@Required,作用于属性的setter方法
@Autowired,作用于构造函数、属性和各种方法(可以被JSR-330的@Inject替代)
@Primary,在有多个Bean适合被自动绑定时,给出优先选择的
@Qualifier("..."),在有多个Bean适合被自动绑定时,选择特定名称的
@Component("beanName"),Spring管理的通用组件
@Controller("beanName"),@Component的特例,用于控制器功能的Java类
@Service("beanName"),@Component的特例,用于通用功能的Java类
@Repository("beanName"),@Component的特例,用于库的Bean(如DAO)
JSR-250的@Resource(name="..."),通过特定名称选择Bean,优先使用该标注,作用于属性的setter方法
JSR-250的@PostConstruct,作用于方法
JSR-250的@PreDestroy,作用于方法

注意:Spring框架启动时,首先采用标注的配置,然后再采用XML文件的配置并覆盖标注的配置,即XML文件配置优先。

2. 扫描classpath查找适合被注入的Spring Bean
在Spring框架的默认XML配置文件中,通过<context:component-scan base-package="..."/>实现扫描指定包中Java类的标注(Annotation)配置。
注意:配置<context:component-scan base-package="..."/>,隐含配置了<context:annotation-config/>

3. JSR-330 Dependency Injection for Java的标准标注(Spring 3.0开始支持)
实现类位于javax.inject包
@javax.inject.Inject,类似于Spring的@Autowired
@javax.inject.Named,类似于Spring的@Component
@Singleton,类似于Spring的@Scope("singleton")
@javax.inject.Qualifier,类似于Spring的@Qualifier
javax.inject.Provider,类似于Spring的ObjectFactory类(注意,这是个Java类,不是标注)


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值