类别 | 注解 | 说明 |
---|---|---|
Bean声明 | @Component | 定义基础层的通用组件,没有明确的角色 |
@Servcie | 定义业务逻辑层的服务组件 | |
@Repository | 在数据访问层定义数据资源服务 | |
@Controller | 在展现层使用,用于定义控制器 | |
Bean注入 | @Autowired | 服务依赖注入,一般用于注入@Component、@Servcie定义的组件 |
@Resource | 服务依赖注入,一般用于注入@Repository定义的组件 | |
配置类注解 | @Configuration | 声明该类为配置类,其中@Value属性可以直接和配置文件属性映射 |
@Bean | 注解在方法上,声明该方法的返回为一个Bean实例 | |
@ComponentScan | 用于对Component进行扫描配置 | |
AOP注解 | @EnableAspectJAutoProxy | 开启Spring对AspectJ代理的支持 |
@Aspect | 声明一个切面,使用@After、@Before、@Around定义通知(Advice),可直接将拦截规则(切点)作为参数 | |
@After | 在方法执行之后执行 | |
@Before | 在方法执行以前执行 | |
@Around | 在方法执行之前和之后都执行 | |
@PointCut | 声明一个切点 | |
@Bean属性支持注解 | @Scope | 设置Spring容器Bean实例的声明周期,取值有singleton、prototype、request、session和global session |
@PostConstruct | 声明方法在构造函数执行完之后开始执行 | |
@PreDestroy | 声明方法在Bean销毁之前执行 | |
@Value | 为属性注入值 | |
@PropertySource | 声明和加载配置文件 | |
异步操作注解 | @EnableAsync | 声明在类上,开启对异步任务的支持 |
@Async | 声明方法是一个异步任务,spring后台基于线程池异步执行该方法 | |
定时任务相关 | @EnableScheduling | 声明在调度类上,开启对任务调度的支持 |
@Scheduled | 声明一个定时任务,包括cron、fixDelay、fixRate等参数 | |
开启功能支持 | @EnableAspectJAutoProxy | 开启对AspectJ自动代理的支持 |
@EnableAsync | 开启对异步方法的支持 | |
@EnableScheduling | 开启对计划任务的支持 | |
@EnableWebMVC | 开启对Web MVC的配置支持 | |
@EnableConfigurationProperties | 开启对@EnableConfigurationProperties注解配置Bean的支持 | |
@EnableJpaRepositories | 开启对SpringData JPA Repository的支持 | |
@EnableTransactionManagement | 开启对事务的支持 | |
@EnableCaching | 开启对缓存的支持 | |
测试相关注解 | @RunWith | 运行器,Spring中通常用于对Unit的支持 |
@ContextConfiguration | 用来加载配置ApplicationContext,其中classes属性用来加载配置类 | |
@Controller | 声明该类为Spring MVC中的控制器 | |
@RequestMapping | 用于声明映射Web请求的地址和参数,包括访问路径和参数 | |
@ResponseBody | 支持将返回值方法Response Body体中返回,通常用于返回JSON数据到前端 | |
@RequestBody | 允许Request的参数在Request Body体中 | |
@PathVariable | 用于接受基于路径的参数,通常作为RESTful接口的实现 | |
@RestController | 组合注解,相当于@Controller和@ResponseBody的组合 | |
@ExceptionHandler | 用于全局控制器的异常处理 | |
@InitBinder | WebDataBinder用来自动绑定前台请求的参数到模型(Model)中 |
Spring开发中常用的注解总结
最新推荐文章于 2024-05-27 20:05:16 发布