zoukankan      html  css  js  c++  java
  • Spring boot中相关的注解

    一、相关类中使用的注解

    1. @RestController:REST风格的控制器
    2. @RequestMapping:配置URL和方法之间的映射
    3. @SpringBootApplication:应用程序入口类
    4. @Controller:控制器
    5. @Service:业务处理类
    6. @Repository:数据库访问类
    7. @Configuration:配置类
    8. @Resource:装配bean
    9. @Autowired:注入对象
    10. @Qualifier:用于标注哪一个实现类才是需要注入的
    11. @Transaction:处理事务
    12. @ComponentScan:扫描组件(servlet、过滤器、监听器、bean等)
    13. @WebServlet:注册servlet
    14. @EnableAutoConfiguration:提供自动配置
    15. @EnableScheduling:开启计划任务
    16. @EnableAsync:开启异步
    17. @ControllerAdvice:同意处理异常
    18. @ConfigurationProperties:同类配置信息封装成一个实体类
    19. @Order:排序、序号越小越早执行
    20. @WebFilter:注册过滤器
    21. @WebListener:标注为监听类
    22. @Conditional :按照一定的条件进行判断,满足条件给容器注册bean
    23. @Profile :根据当前环境,动态的激活和切换一系列组件的功能
    24. @Import :导入配置类或者导入一个带有@Component等注解要放入Spring容器中的类
    25. @ImportResource :导入一个传统的xml配置文件
    26. @Bean :可以把第三方包的类对象放入到spring ioc中
    27. @Primary :修改优先权
    28. @PropertySource :加载指定的属性文件(*.properties)到 Spring 的 Environment 中。可以配合 @Value 和 @ConfigurationProperties 使用
    29. @MapperScan:可以指定要扫描的Mapper类的包的路径
    30. @Scrope:描述spring容器如何新建Bean实例 
      1. Singleton:容器共享一个Bean实例,默认为Singleton
      2. Prototype:每次调用新建一个Bean
      3. Request:每一个request新建一个
      4. Session:每一个Session新建一个
      5. GlobalSession:只在portal应用中有用,每一个GlobalSession新建一个Bean

    二、相关方法中使用的注解

    1. @RequestBody:将请求体中的字符串绑定到相应的对象上
    2. @PathVariable:获取路径中的参数
    3. @Bean:交给spring管理的对象
    4. @ResponseBody:用来返回json、xml格式的数据
    5. @ExceptionHandler:异常执行方法
    6. @RequestMapping:地址映射
    7. @GetMapping:查询的请求
    8. @PostMapping:新增的请求
    9. @DeleteMapping:删除的请求
    10. @PutMapping:修改的请求
    11. @RequestParam:将请求参数绑定到你控制器的方法参数上
    12. @PostConstruct:修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。

    三、元注解(定义注解的注解)

    1. @Retention:注解的生命周期
    2. @Target:表明注解可以使用的范围
    3. @Inherited:表明类型是可以被继承的
    4. @Documented:将注解信息添加在java文档中
    5. @Interface:自定义注释类型

     

    四、JUnit中的注解

    1. @BeforeClass:一般用来初始化整体代码
    2. @AfterClass:一般用来销毁和释放资源
    3. @Before:一般用来初始化方法
    4. @After:一般用来回滚测试数据
    5. @Test:编写测试用例
    6. @Ignore:测试时忽略
    7. @RunWith:负责调用测试代码
    8. @SpringBootTest:指定测试入口

     

    五、MyBatis中的注解

    1. @Select:查询
    2. @Insert:添加
    3. @Update:修改
    4. @Delete:删除
    5. @Mapper:标注类交给spring管理
    6. @Results:结果集多个字段映射关系
    7. @Result:结果集单个字段映射关系
    8. @ResultMap:根据ID关联xml里面的<ResultMap>
    9. @SelectProvider:构建动态查询Sql
    10. @InsertProvider:构建动态添加Sql
    11. @UpdateProvider:构建动态更新Sql
    12. @DeleteProvider:构建动态删除Sql

    六、Swagger中的注解

    1. @Api:描述接口用途
    2. @ApiOperation:描述方法用途
    3. @ApiImplicitParam:描述方法参数
    4. @ApiImplicitsParam:描述方法多个参数
    5. @ApiIgnore:忽略

     

    七、Spring Cache中的注解

    1. @EnableCAche:开启缓存
    2. @CacheAble:缓存类和方法的返回值
    3. @CachePut:每次都会触发真实方法的调用
    4. @CacheEvict:标注需要清除缓存的方法和类
    5. @Caching:组合多个相关注解标签

    八、AOP中的注解

    1. @Before:在切入点开始处切入内容
    2. @After:在切入点结尾处切入内容
    3. @Around:在切入点前后切入内容
    4. @Aspect:标记为切面类
    5. @Component:把切面类加入IoC容器中,让spring进行管理
    6. @AfterReturning:在切入点返回内容之后切入内容
    7. @AfterThrowing:切入内容部分,抛出异常之后的处理逻辑

     

    九、Hibernate-validator注解(内置数据验证器)

    1. @NotBlank:非null,长度大于0
    2. @Email:邮箱
    3. @Length(min=,max=):字符串大小范围
    4. @NotEmpty:非空
    5. @NotEmptyPatten:非空情况下,是否匹配正则表达式
    6. @DateValidator:日期格式 是否满足正则表达式
    7. @DateFormatCheckPattern:日期格式 是否满足正则表达式
    8. @CreditCardNumber:信用卡号码
    9. @Range(min=,max=,message=):元素必须在合适范围内
    10. @Null:null
    11. @NotNull:不为null
    12. @AssertTrue:元素必须为true
    13. @AssertFalse:元素必须为false
    14. @Min(value):数字最小值
    15. @Max(value):数字最大值
    16. @DecimalMin(value):数字最小值
    17. @DecimalMax(value):数字最大值
    18. @Size(max=,min=):数字的范围
    19. @Ditits(integer,fraction):范围内数字
    20. @Past:过去的日期

    十、Lombok注解

    1. @Data:自动生成Getter、Setter、toString、equals、hashCode方法,以及不带参数的构造方法
    2. @NonNull:帮助处理空指针异常
    3. @CleanUp:自动管理资源
    4. @Setter/@Getter:Getter、Setter方法
    5. @ToString:生成toString方法
    6. @EqualsAndHashcode:重写hashCode和equals方法
    7. @NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor:自动生成构造方法
    8. @Value:标注为final类
    9. @Builder:生成复杂的构造器API类
    10. @SneakyThrows:用于处理异常
    11. @Synchronized:同步方法的转换
    12. @Log:支持各种日志对象

    十一、其他

    1.  @EnableRedisHttpSession:开启Redis分布式Session支持
    2.  @Value:获取配置文件中的值(用在属性上)
    3. Spring EL: spring表达式语言,可以用运算规则来装配Bean
    4. @EnableAsync:开启异步
    5. @Async:方法进行异步操作
  • 相关阅读:
    AGC037F Counting of Subarrays
    AGC025F Addition and Andition
    CF506C Mr. Kitayuta vs. Bamboos
    AGC032D Rotation Sort
    ARC101F Robots and Exits
    AGC032E Modulo Pairing
    CF559E Gerald and Path
    CF685C Optimal Point
    聊聊Mysql索引和redis跳表
    什么是线程安全
  • 原文地址:https://www.cnblogs.com/kerwincui/p/12363409.html
Copyright © 2011-2022 走看看