博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Bean的配置方式及标注(Annotation)配置
阅读量:4178 次
发布时间:2019-05-26

本文共 1405 字,大约阅读时间需要 4 分钟。

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类,不是标注)

转载地址:http://lclai.baihongyu.com/

你可能感兴趣的文章
synchronized+Integer模拟火车票预售,出现的问题总结
查看>>
沉浸式过山车:穿梭时空,自在畅游巨蚁数字虚实世界
查看>>
沉浸式过山车,感受巨蚁数字心灵的激情
查看>>
沉浸式过山车,巨蚁数字带给您前所未有的科技体验
查看>>
质量好的自行车品牌有哪些辐轮王土拨鼠全球顶级自行车品牌排行榜
查看>>
htmlunit爬取js异步加载后的页面
查看>>
修改Linux系统locale设置
查看>>
linux网络无法连接问题
查看>>
linux 查看ip
查看>>
记录go数据库操作的bug——max_prepared_stmt_count,附分析过程
查看>>
go中map与xml互转
查看>>
java进程占用CPU过高
查看>>
CSDN-markdown编辑器
查看>>
拷贝整个目录到另一台服务器并排除log目录
查看>>
拜托,面试别再问我跳表了!
查看>>
linux驱动实例
查看>>
android ArrayList<String> 转 String[]
查看>>
RecyclerView baseadapter
查看>>
Android中应用程序如何获得系统签名权限
查看>>
MPAndroidChart 动态更新
查看>>