西木-Lee

 

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

 

posted on 2018-12-29 16:32  西木-Lee  阅读(282)  评论(0编辑  收藏  举报

导航