Spring 常用注解

Spring 常用注解

1. @Component
  • 通过反射调用当前类的无参构造创建对象并将该对象添加至 IoC 容器中, 让 Spring 来管理该对象

  • 可以指定 id, 如果为指定, 则 id 默认为当前类名 (首字母小写)

  • 有三个衍生注解, 对应 MVC 三层架构模式

    • @Controller

      用于标识表现层的 bean

    • @Service

      用于标识业务层的 bean

    • @Repository

      用于标识数据层的 bean

2. @Configuration
  • 标记当前类是配置类
  • 将该类添加至 IoC 容器中, 让 Spring 来管理该对象, id 的命名规则同上
3. @Bean
  • 作用在方法上
  • 将方法的返回值添加至 IoC 容器中, 让 Spring 来管理该对象
  • 一般用来配置第三方 bean
  • 可以指定对象的 id, 如果没有指定, 则 id 默认为方法名
  • 如果方法有参数, 它会从 IoC 容器中按类型匹配的方式获取相应对象并将其注入到形参中
4. @Import
  • 作用在 Spring 的主配置类上
  • 用来导入其它的配置类, 降低耦合度
5. @Autowired
  • 作用在引用类型的成员属性上
  • Spring 会自动对该属性进行自动装配
  • 默认是按类型查找并注入, 如果有多个相同类型的 bean, 则会尝试按名称获取并注入
  • 基于暴力反射的方式, 无需使用到该类提供给该属性的 Setter 方法
6. @Qualifier
  • 配合 @Autowired 进行使用, 不可单独存在
  • 用于指定 id 名称来获取 bean 并注入到属性中
7. @Resource
  • 按照属性名称来进行依赖注入
8. @Value
  • 简单类型的依赖注入
  • 简单类型: 基本数据类型 + String
9. @Scope
  • 定义 bean 的作用范围, 或者说采用什么模式来创建 bean
  • 一般使用两种模式: prototype 和 singleton
10. @ComponentScan
  • 自动扫描指定包下所有类
  • 将带 @Service、@Component、@Controller、@Repository 等注解标注的类的对象并添加至容器中
11. @PropertySource
  • 用于在 Java 类中引入 properties 配置文件
  • 一般配合 @Value 使用, 用来注入配置文件中的属性信息
12. @Aspect
  • 作用在类上
  • 标记当前类为切面类
13. @Around
  • 作用在方法上
  • 标记当前方法为一个环绕通知方法
  • 可以认为是结合了前置, 后置, 异常, 最终通知的方法, 使用和操作更加灵活方便
14. @PointCut
  • 用于定义 AOP 切入点表达式
  • 一般依托于一个不具有实际意义的方法 (无参数, 无返回值, 无逻辑), 用于提高表达式的复用性
15. @EnableTransactionManagement
  • 一般作用于主配置类上
  • 用于开启 Spring 的事务管理
16. @Transactional
  • 一般作用在方法上
  • 标记当前方法将使用事务
17. @@EnableAspectJAutoProxy
  • 一般作用于主配置类上
  • 用于开启 Spring 对 AOP 注解驱动支持
18. @ContextConfiguration
  • 作用于单元测试类上, 用于指定当前环境的主配置类
  • 需配合 Junit 提供的 @RunWith 注解来来完成整合 Spring 和 Junit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员北风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值