搜注解来这里就好辣,不定时更新,随手记。
@requestBody注解常用来处理content-type
@Valid @RequestBody:
一个用在方法参数上的@ModelAttribute注解指示了参数应该从模型(这里所说的“模型”指 Model)中获取。
如果模型中不存在,参数会首先被实例化,然后添加到模型中。
@FeignClient
Feign 是一个声明web服务客户端
在应用主类中通过@EnableFeignClients注解开启Feign功能
使用@FeignClient("biz-service-0")注解来绑定该接口对应biz-service-0服务
@EnableAspectJAutoProxy
表示开启AOP代理自动配置,如果配@EnableAspectJAutoProxy表示使用cglib进行代理对象的生成;
设置@EnableAspectJAutoProxy(exposeProxy=true)表示通过aop框架暴露该代理对象,aopContext能够访问.
@EnableDiscoveryClient
基本就是EnableEurekaClient有@EnableDiscoveryClient的功能
使用其他的注册中心后,都可以使用@EnableDiscoveryClient注解,但是使用@EnableEurekaClient的情景,
就是在服务采用eureka作为注册中心的时候,使用场景较为单一。
Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,
然后在访问数据库的Service方法上添加注解 @Transactional 便可。
@Swagger2
Swagger2的扫描注解
@ConfigurationProperties注解可以注入在application.properties配置文件中的属性,
和@Bean 或者 @Component 能生成spring bean 的注解结合起来使用
@Order注解:主要用来控制配置类的加载顺序,值越小,优先级越高
aop相关注解{
@Aspect:作用是把当前类标识为一个切面供容器读取
@Pointcut:Pointcut是植入Advice的触发条件。每个Pointcut的定义包括2部分,一是表达式,二是方法签名。方法签名必须是 public及void型。可以将Pointcut中的方法看作是一个被Advice引用的助记符,因为表达式不直观,因此我们可以通过方法签名的方式为 此表达式命名。因此Pointcut中的方法只需要方法签名,而不需要在方法体内编写实际代码。
@Around:环绕增强,相当于MethodInterceptor
@AfterReturning:后置增强,相当于AfterReturningAdvice,方法正常退出时执行
@Before:标识一个前置增强方法,相当于BeforeAdvice的功能,相似功能的还有
@AfterThrowing:异常抛出增强,相当于ThrowsAdvice
@After: final增强,不管是抛出异常或者正常退出都会执行
//
环绕通知=前置+目标方法执行+后置通知,proceed方法就是用于启动目标方法执行的。
环绕通知 ProceedingJoinPoint 执行proceed方法的作用是让目标方法执行,这也是环绕通知和前置、后置通知方法的一个最大区别。
}
@EnableCaching注解是spring framework中的注解驱动的缓存管理功能。自spring版本3.1起加入了该注解。如果你使用了这个注解,那么你就不需要在XML文件中配置cache manager了。
当你在配置类(@Configuration)上使用@EnableCaching注解时,会触发一个post processor,这会扫描每一个spring bean,查看是否已经存在注解对应的缓存。如果找到了,就会自动创建一个代理拦截方法调用,使用缓存的bean执行处理。