注解具体分类如下:

1、模式注解

  @Repository             数据仓储模式注解

@Component            通用组件模式注解

@Service                    服务模式注解

@Controller                Web 控制器模式注解

@Configuration        配置类模式注解:这是 Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。

2、装配注解

@ImportResource        替代 XML 元素<import>,如果有些通过类的注册方式配置不了的,可以通过这个注解引入额外的 XML 配置文件,有些老的配置文件无法通过 @Configuration 方式配置的非常管用。

@Import                       用来引入额外的一个或者多个 @Configuration 修饰的配置文件类。

@componentScan       这是 Spring 3.1 添加的一个注解,用来代替配置文件中的 component-scan 配置,开启组件扫描,即自动扫描包路径下的 @Component 注解进行注册 bean 实例到 context 中。另外,@ComponentScans 是可重复注解,即可以配置多个,用来配置注册不同的子包。

3、依赖注入注解

  @Autowired                  Bean 依赖注入,支持多种依赖查找方式

@Qualifier                     细粒度的@Autowired 依赖查找

  @Resouece                    Bean 依赖注入,仅支持名称依赖查找方式

4、Bean 自定义注解

@Bean                    替代 XML 元素<bean>

@DependsOn          替代 XML 属性<bean depends-on="..."/>

@Lazy                      替代 XML 属性<bean lazy0init="true|falses"/>

@Primary                替代 XML 元素<bean primary="true|false"/>

    @Role                       替代 SML 元素<bean role="..."/>

@Lookup                  替代 XML 属性<bean lookup-method="...">

5、条件装配注解

    @Profile                    配置化条件装配

@Conditional            编程条件装配

6、配置属性注解

@PropertySource        配置属性抽象 PropertySource

@PropertySources        @PropertySource集合注解

7、生命周期回调注解

@PostConstruct           替换 XML 元素<bean init-method="..."/>或 InitializingBean

@PreDestroy                替换 XML 元素<bean destroy-method="..." />或 DisposableBean

8、注解属性注解

    @AliasFor                别名注解属,实现复用的目的

9、性能注解

 @Indexed        提升 spring 模式注解的扫描效率

参考:

  https://blog.csdn.net/huangdingsheng/article/details/93769375

  https://mp.weixin.qq.com/s?__biz=MzI3ODcxMzQzMw==&mid=2247487381&idx=2&sn=89de186873960e5a1f0f90904c2e7cef&chksm=eb538aa3dc2403b58263218dca94cb18cf9006d6e7ba87f0e9a260ac542c29ebf2dbe96ac8e1&scene=21#wechat_redirect

最新文章

  1. #define DELAY_ONE_MICROSECOND (-10) 时间是负数的原因
  2. oracle数据类型
  3. 快速判断ie10及以上版本浏览器
  4. 查看SqlAzure和SQLServer中的每个表数据行数
  5. 制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)
  6. Oracle常用脚本——通过RMAN配置RAC环境的分布式磁带机
  7. 日志输出--C#
  8. [Swift]LeetCode84. 柱状图中最大的矩形 | Largest Rectangle in Histogram
  9. Django 系列博客(九)
  10. d3里的比例尺
  11. calc()
  12. 03-spark kafka
  13. C#中的命名空间namespace与Java中的包package之间的区别
  14. iOS: 查看 UIView 的视图树
  15. 2018/03/14 每日一个Linux命令 之 ln
  16. Linux 期中架构 rsync
  17. js form 表单 重置 清空
  18. exchange 升级顺序导致的邮件被发不出的问题?
  19. 初识CSS(1)
  20. mybatis学习笔记(五):mybatis 逆向工程

热门文章

  1. Linux磁盘配额与LVM
  2. mysql 修改my.ini
  3. [刘阳Java]_Web前端入门级练习_迅雷首页第一屏设计
  4. Linux系统下Java 转换Word到PDF时,结果文档内容乱码的解决方法
  5. 【spring源码系列】之【Bean的循环依赖】
  6. 最大网络流dinic
  7. java 日期字符串互相转换
  8. ODOO14笔记---系统升级崩溃后进不去系统解决办法
  9. 第九篇 -- 可以上网,连WIFI弹出网页
  10. 解决proto文件转换时提示“Note that enum values use C++ scoping rules, meaning that enum values are siblings of their type, not children of it. ”