Spring Boot @Enable*注解

不错的文章:https://segmentfault.com/a/1190000015188776

常用的@Enbale 注解说明:

 @EnableAspectJAutoProxy**:表示开启AOP代理自动配置,如果配 
 @EnableAspectJAutoProxy表示使用cglib进行代理对象的生成;设置 
 @EnableAspectJAutoProxy(exposeProxy=true)表示通过aop框架暴露该代理对象,aopContext能够访问。
 @EnableAsync**:@EnableAsync注解开启异步方法的支持。[参考文章](http://blog.csdn.net/qq_26525215/article/details/53214185)
 @EnableScheduling**:@EnableScheduling注解开启计划任务的支持。[参考文章](http://blog.csdn.net/qq_26525215/article/details/53543816)
 @EnableWebMVC**:@EnableWebMVC注解用来开启Web MVC的配置支持。
 @EnableConfigurationProperties**:@EnableConfigurationProperties注解是用来开启对@ConfigurationProperties注解配置Bean的支持。
 @EnableJpaRepositories**:@EnableJpaRepositories注解开启对Spring Data JPA Repostory的支持。Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成!
 @EnableCaching**:@EnableCaching注解开启注解式的缓存支持
通过这些简单的@Enable*可以开启一项功能的支持,从而避免自己配置大量的代码,很大程度上降低了使用难度。

自定义@Enable * 特性:
1.一般SpringBoot @Enbale特性需要结合@Import 注解来一起使用,关于@Import的使用我们将在后面的章节中学习,因而在学习是请一定结合@Enable * 和 @Import 一起学习。
2.在创建自定义@Enable
时 类型必须为@interface 且 必须使用一下注解,具体可参考代码:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented

你可能感兴趣的:(Spring Boot @Enable*注解)