Spring中的注解主要分为两类:

类级别的注解: 如@Component、@Repository、@Controller、@Service以及JavaEE6的@ManagedBean和@Named注解,都是添加在类上面的类级别注解。

类内部的注解: 如@Bean、@Autowire、@Value、@Resource以及EJB和WebService相关的注解等,都是添加在类内部的字段或者方法上的类内部注解。

具体的来说又有以下几种类型的注解方式:

1.声明bean的注解

@Component 组件,通用的注解方式

@Service 在业务逻辑层使用(service层)

@Repository 在数据访问层使用(dao层)

@Controller 在表现层使用,控制器的声明(C)

2.注入bean的注解

@Autowired:由Spring提供

@Inject:由JSR-330提供

@Resource:由JSR-250提供

都可以注解在set方法和属性上,推荐注解在属性上(一目了然,少写代码)。

3.java配置类相关注解

@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上)

@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上)

@Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上)

@ComponentScan 用于对Component进行扫描,相当于xml中的(类上)

@WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解

4.切面(AOP)相关注解

Spring支持AspectJ的注解式切面编程。

@Aspect 声明一个切面(类上)

使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。

@After 在方法执行之后执行(方法上) @Before 在方法执行之前执行(方法上) @Around 在方法执行之前与之后执行(方法上)

@PointCut 声明切点

在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(类上)

5.@Bean的属性支持

@Scope 设置Spring容器如何新建Bean实例(方法上,得有@Bean)

其设置类型包括:

· Singleton (单例,一个Spring容器中只有一个bean实例,默认模式),

· Protetype (每次调用新建一个bean),

· Request (web项目中,给每个http request新建一个bean),

· Session (web项目中,给每个http session新建一个bean),

· GlobalSession(给每一个 global http session新建一个Bean实例)

@StepScope 在Spring Batch中还有涉及

@PostConstruct 由JSR-250提供,在构造函数执行完之后执行,等价于xml配置文件中bean的initMethod

@PreDestory 由JSR-250提供,在Bean销毁之前执行,等价于xml配置文件中bean的destroyMethod

@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。

Spring 中所有注解相关推荐

  1. Spring中异步注解@Async的使用、原理及使用时可能导致的问题

    前言 最近,很多同学碰到了下面这个问题,添加了Spring提供的一个异步注解@Async循环依赖无法被解决了,下面是一些读者的留言跟群里同学碰到的问题: 本着讲一个知识点就要讲明白.讲透彻的原则,我决 ...

  2. Spring中常用注解的介绍

    spring中使用注解时配置文件的写法: <?xml version="1.0" encoding="UTF-8"?> <span style ...

  3. 声明式事务、Spring 中常用注解、Ajax

    五. 声明式事务 编程式事务: 1.1 由程序员编程事务控制代码. 1.2 OpenSessionInView 编程式事务 声明式事务: 先引入依赖 <dependency><gro ...

  4. spring中的注解和xml配置文件中配置对应总结

    spring中的注解和xml配置文件中配置对应 需要导入的jar spring-context spring-context-support spring-test commons-logging b ...

  5. Spring中@AliasFor注解的作用及原理

    本文基于Springboot 2.1.6.RELEASE 版本分析. 关于@AliasFor注解,曾提过的一个issue Explicit attribute overrides configured ...

  6. Spring中@Value注解详解

    在spring项目中必不可少的就是读取配置文件,那么读取配置文件就有两种方式.一种就是使用Spring中@Value注解,还有一种是使用SpringBoot中的@ConfigurationProper ...

  7. spring中自定义注解(annotation)与AOP中获取注解___使用aspectj的@Around注解实现用户操作和操作结果日志

    spring中自定义注解(annotation)与AOP中获取注解 一.自定义注解(annotation) 自定义注解的作用:在反射中获取注解,以取得注解修饰的类.方法或属性的相关解释. packag ...

  8. day05 Spring中自定义注解的用处-之获取自定义的Servie

    PS: 在RPC远程调用中,想要获取自定义的service的方法,就得自定义标签遍历拿到方法 PS:在spring中,两个最核心的 概念是aop和ioc,aop其实就是动态代理. ioc 就是解决对象 ...

  9. spring中使用注解代替xml配置

    今天两部分内容,第一部分是注解,使用注解配置Spring,然后第二个是Spring中的AOP,今天就需要这两部分,也没有练习,第一个注解配置Spring,这三大框架都是用注解来配置,这三大框架,都是支 ...

最新文章

  1. R构建KNN多分类模型
  2. 计算机排版基础知识,计算机排版基础知识.pdf
  3. android信息中字符个数,在android中指定编辑文本中的字符数
  4. 图解+笔记-python语言-第5章:数字/5.3 内置数字工具/5.3.2 内置数学函数
  5. javascript中的Base64.UTF8编码与解码详解
  6. k8s安装nginx部署前端页面_怎么在k8s中部署nginx?
  7. 面向对象设计原则之4-依赖倒置原则
  8. 中国象棋程序的设计与实现(七)--心得体会和开发日志
  9. 软考高项历年作文真题
  10. R语言metafor包预后meta分析复现
  11. 如何使用多种方法在 Mac 上截屏?
  12. 通过池塘配置ip实验
  13. linux清理dns缓存命令,Ubuntu下清空DNS缓存 提升访问速度
  14. IPv6 NDP——邻居发现协议
  15. 用计算机的拓展活动总结,计算机学院心理健康节素质拓展活动圆满结束
  16. 分类---逻辑回归(二分类)
  17. 如何添加Burp Suite添加https证书
  18. vue3 setup中获取地址栏参数
  19. Eclipse+Java+Swing+Mysql实现员工信息管理系统
  20. i春秋 upload

热门文章

  1. sunday算法和kmp算法
  2. 无人书店来了!驻守复旦大学14年的老书店,要做年轻人的打卡点
  3. 单向测径仪有何特点来满足现代生产需要
  4. 平时小腿肌肉在跳动,是不是和肌肉萎缩有关?
  5. Foxmail 账号无法登陆、无法收取邮件等问题
  6. 操作无法完成。打印后台程序服务没有运行
  7. 谢谢,那些伤害过我的人:伤感日志
  8. 进阶之路-Excel之数据透视表
  9. LoRa模块E22-400T22S 四种模式下的电流分析和功耗评测
  10. 安卓系统管理软件_【韩文餐饮多国语言收银系统韩语/朝鲜地区通用软件包邮】免费在线试用_软件库...