SpringBoot 常用特性总结

ConfigurationProperties

SpringBoot 的一个很重要的功能是外部化配置,可以直接访问配置文件(application.yml)中定义的字段值,并能够完成属性绑定。
但是,需要注意:@ConfigurationProperties 并没有把当前类注册成为一个 Spring 的 Bean。所以,我们在使用时都会配合 @Component 注解直接进行注入。例如:
在这里插入图片描述
注意到,ConfigurationProperties 的 prefix 属性指定了 adconf.mysql。所以,它会映射到 application.yml 中对应的字段。例如:
在这里插入图片描述

CommandLineRunner 与 ApplicationRunner

CommandLineRunner 与 ApplicationRunner 接口是在 Spring 容器启动之后做的一些自定义操作。

  • CommandLineRunner

接口被用作将其加入 Spring 容器中时执行其 run 方法。多个 CommandLineRunner 可以被同时执行在同一个 Spring 上下文中并且执行顺序是以 Order 注解的参数顺序一致。注意:需要把 CommandLineRunner 加入到 Spring 容器中。例如:
在这里插入图片描述

  • ApplicationRunner

阅读官方的 javadoc,可以发现,与 CommandLineRunner 几乎一样,区别在于接收的参数不一样。CommandLineRunner 的参数是最原始的参数,没有做任何处理。ApplicationRunner 的参数是 ApplicationArguments,是对原始参数做了进一步的封装。使用方法也是一样的,例如:
在这里插入图片描述

  • @Scheduled

@Scheduled 注解用于计划执行,它提供了多种参数控制执行的时间和频率等。例如:fixedRate 以固定的频率执行、cron 以 crontab 表达式的规则执行等等。

@Scheduled 任务是非常常用的,使用起来也非常简单:1. 加载到 Spring 容器中;2. 指定你想要的执行规则。例如:

 @Componen
public class ScheduledTask { 
     //@Scheduled(fixedRate = 5000)         上一次开始执行时间点之后5秒再执行
   // @Scheduled(fixedDelay = 5000)        上一次执行完毕时间点之后5秒再执行
    // @Scheduled(cron = "*/5 * * * * *")   通过 crontab 表达式定义规则
    
@Scheduled(fixedRate =1000)
  public void helloSpringBoot ( ) { 
        System.out.println("Hello SpringBoot");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值