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

  • 相关阅读:
    Combine 框架,从0到1 —— 4.在 Combine 中使用计时器
    Combine 框架,从0到1 —— 4.在 Combine 中使用通知
    Combine 框架,从0到1 —— 3.使用 Subscriber 控制发布速度
    Combine 框架,从0到1 —— 2.通过 ConnectablePublisher 控制何时发布
    使用 Swift Package Manager 集成依赖库
    iOS 高效灵活地配置可复用视图组件的主题
    构建个人博客网站(基于Python Flask)
    Swift dynamic关键字
    Swift @objcMembers
    仅用递归函数操作逆序一个栈(Swift 4)
  • 原文地址:https://www.cnblogs.com/lixyu/p/9466660.html
Copyright © 2011-2022 走看看