zoukankan      html  css  js  c++  java
  • spring boot常用注解小计

     @Async 

      需要执行异步方法时,在方法上加上@Async之后,底层使用多线程技术 。启动类上需要加上 @EnableAsync 

    注意:异步执行方法,不能与引用方法同在一个类里

     @Transactional 

      org.springframework.transaction.annotation包 ,不是来自javax.transaction 。而且@Transactional不仅可以注解在方法上,也可以注解在类上。当注解在类上的时候意味着此类的所有public方法都是开启事务的。如果类级别和方法级别同时使用了@Transactional注解,则使用在类级别的注解会重载方法级别的注解。

    /**
         * 添加一个事务
         */
        @Transactional(rollbackFor = Exception.class)
        public void tranTest() {
            /**
             * 事务中重新开启新的事务
             */
            ((TestService) AopContext.currentProxy()).newTranTest();
        }
    
        /**
         * 另起一个新事务
         */
        @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
        public void newTranTest(){
    
        }
    View Code
    @EnableTransactionManagement

      注意:Springboot提供了一个@EnableTransactionManagement注解在配置类上来开启声明式事务的支持。注解@EnableTransactionManagement是默认打开的,想要关闭事务管理,想要在程序入口将这个注解改为false

    @Scheduled(fixedDelay = 时间间隔 )
    @Scheduled(fixedRate = 时间间隔 )
    @Scheduled(cron = cron表达式)

    启动

    要在主方法上加上 @EnableScheduling 

    类中添加@Slf4j 注解即可。使用是直接输入log全局变量

    Lombok的其他用法

    @Data 标签,生成getter/setter toString()等方法 
    @NonNull : 让你不在担忧并且爱上NullPointerException 
    @CleanUp : 自动资源管理:不用再在finally中添加资源的close方法 
    @Setter/@Getter : 自动生成set和get方法 
    @ToString : 自动生成toString方法 
    @EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现 
    @NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor 
    自动生成构造方法 
    @Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法 
    @Value : 用于注解final类 
    @Builder : 产生复杂的构建器api类
    @SneakyThrows : 异常处理(谨慎使用) 
    @Synchronized : 同步方法安全的转化 
    @Getter(lazy=true) : 
    @Log : 支持各种logger对象,使用时用对应的注解,如:@Log4

     @EnableCaching 

      在 Spring Boot中,通过@EnableCaching注解自动化配置合适的缓存管理器(CacheManager),Spring Boot根据下面的顺序去侦测缓存提供者:  Generic  , JCache (JSR-107), EhCache 2.x  ,Hazelcast  , Infinispan  ,Redis  ,Guava , Simple

  • 相关阅读:
    编译nginx时,编译参数注意点
    CentOS7下FTP的安装与配置
    实用的Docker入门
    01背包问题(Java实现)
    常见排序算法及Java实现
    HashSet实现不重复储值原理-附源码解析
    机器学习实战笔记(Python实现)-09-树回归
    机器学习实战笔记(Python实现)-08-线性回归
    SQL面试笔试经典题(Part 2)
    机器学习实战笔记(Python实现)-07-模型评估与分类性能度量
  • 原文地址:https://www.cnblogs.com/lixyu/p/9466660.html
Copyright © 2011-2022 走看看