Spring的常用注解

176 阅读2分钟
类别 注解 说明
Bean声明 @Component 定义基础层的通用组件,没有明确的角色
@Service 定义业务逻辑层的服务组件
@Repository 在数据访问层定义数据资源服务
@Controller 在展示层使用,用于定义控制器
Bean注入 @Autowired 服务依赖注入,一般用于注入@Component、@Service定义的组件
@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 声明方法在构造函数执行完之后开始执行
@Value 为属性注入值
@PreDestory 声明方法在Bean销毁之前执行
@PropertySource 声明和加载配置文件
异步操作注解 @EnableAsync 声明在类上,开启对异步任务的支持
@Async 声明方法是一个异步任务,Spring后台基于线程池异步执行该方法
定时任务相关 @EnableScheduling 声明在调度类上,开启对任务调度的支持
@Scheduled 声明一个定时任务,包括cron、fixDelay、fixRate等参数
开启功能支持 @EnableAspectJAutoProxy 开启对AspectJ自动代理支持
@EnableAsync 开启对异步方法的支持
@EnableScheduling 开启对计划任务的支持
@EnableWebMVC 开启对WebMVC的配置支持
@EnableConfigurationProperties 开启对@ConfigurationProperties注解配置Bean的支持
@EnableJpaRepositories 开启对SpringData JPA Repository的支持
@EnableTransactionManagement 开启对事务的支持
@EnableCaching 开启对缓存的支持
测试相关注解 @RunWith 运行器,Spring中通常用于对Junit的支持
@ContextConfiguration 用于加载配置,ApplicationContext,其中classes属性用来加载配置类
SpringMVC注解 @Controller 声明该类为SpringMVC中的控制器
@RequestMapping 用于声明映射Web请求的地址和参数,包括访问路径和参数
@ResponseBody 支持将返回值放在Response Body体中返回,通常用户返回JSON数据到前端
@RequestBody 允许Request的参数在Request Body体中
@PathVariable 用于接收基于路径的参数,通常用作RESTful接口的实现
@RestController 组合注解,相当于@Controller和@ResponseBody的组合
@ExceptionHandler 用于全局控制器的异常处理
@InitBinder WebDataBinder用来自动绑定前台请求的参数到模型(Model)中