常用注解

Spring
@Component:标注一个类为Spring容器的Bean(泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类)
@Repository:用于将数据访问层 (DAO 层)的类标识为 Spring Bean
@Services:用于标注业务层组件
@RestController:是 @Controller 和 @ResponseBody 两个注解的结合体
 
@RequestMapping:是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径
@PostMapping:用于处理post请求
@GetMapping:用于处理get请求
 
@EnableAsync:开启异步调用
@Async:基于@Async标注的方法,称之为异步方法;这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其它的操作
@Configuration:用于定义配置类,可替换XML配置文件,被注解的类内部包含一个或多个@Bean注解方法。可以被AnnotationConfigApplicationContext或者AnnotationConfigWebApplicationContext 进行扫描。用于构建bean定义以及初始化Spring容器
@PostConstruct:在构造函数之后执行(只会被服务器执行一次)
@Autowired:默认按照类型进行装配
@Bean:用于告诉方法,产生一个Bean对象,并且交给Spring容器管理
@Value:用于读取application.properties里的内容
@Order:定义Spring IOC容器中Bean的执行顺序的优先级
@ControllerAdvice:主要用于全局异常处理
@ExceptionHandler:统一处理某一类异常,从而能够减少代码重复率和复杂度
@WebFilter:用于将一个类声明为过滤器
@EnableScheduling:用于开启对计划任务的支持
@EnableAspectJAutoProxy:用于开启注解版的AOP功能
@EnableCaching:可完成简单的缓存功能
@EnableTransactionManagement:用于开启声明式事务
@MapperScan:指定要变成实现类的接口所在的包,包下面的所有接口在编译之后都会生成相应的实现类
 
Spring Boot
@ConfigurationProperties:将配置文件的值映射到类上使用
@SpringBootApplication:这个注解一般放在项目的启动类上,用来把启动类注入到容器中,用来定义容器扫描的范围和加载classpath环境中一些bean
 
Spring Cloud
@RefreshScope:实现配置文件的动态加载
@EnableFeignClients:告诉框架扫描所有使用注解@FeignClient定义的feign客户端
@FeignClient:定义一个feign客户端,将远程服务映射为一个本地Java方法调用
-----------------------------------------------------------------------------------------------------------------------------
@Resource:默认按照名称进行装配,名称可以通过name属性进行指定, 如果没有指定name属性,当注解写在字段上时,默认取字段名进行查找,如果注解写在setter方法上默认取属性名进行装配。 当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配
 
@NotNull:被注释的元素不能为null,可以为空字符串
 
@Target:指明了修饰的这个注解的使用范围,即被描述的注解可以用在哪里
@Retention:指明修饰的注解的生存周期,即会保留到哪个阶段
@Documented:指明修饰的注解,可以被例如 javadoc 此类的工具文档化,只负责标记,没有成员取值
 
AOP
@Aspect:声明切面
@Pointcut:切入点
@Around:用于对方法进行增强处理
 
Lombok
@Slf4j:如果不想每次都写private  final Logger logger = LoggerFactory.getLogger(当前类名.class); 可以用注解@Slf4j
@Data:注解在类上,让lombok自动生成getter、setter、equals、hashCode、canEqual、toString方法
@ToString:注解在类上,让lombok自动生成toString方法
@Getter:注解在类上,让lombok自动生成getter方法
@Setter:注解在类上,让lombok自动生成setter方法
@EqualsAndHashCode:让lombok自动生成equals和hashCode方法
@AllArgsConstructor:注解在类上, 为类提供全参构造函数
@NoArgsConstructor:注解在类上, 为类提供无参构造函数
@Accessor:用于配置getter和setter方法的生成结果
@Builder:可以方便的支持 Builder 模式
 
Swagger
@ApiModel:这个注解是作用在类上面的,是用来描述类的一些基本信息
@ApiModelProperty:这个注解是配合@ApiModel注解一起使用的。同时这个注解与@ApiModel不同,@ApiModel描述的是类的信息,而@ApiModelProperty描述的是类的属性的信息
原文地址:https://www.cnblogs.com/beyondchina/p/14455240.html