javascript
SpringBoot常见功能特性分析
SpringBoot常見功能特性分析:
- SpringBoot 應(yīng)用啟動入口
- 容器啟動之后執(zhí)行的操作
- Profile環(huán)境配置
- 配置信息封裝成實體類
- 定時任務(wù)
(1)SpringBoot應(yīng)用啟動入口
查看@SpringBootApplication
查看@SpringBootConfiguration
因此,@SpringBootApplication實際上是由@Configuration、@EnableAutoConfiguration、@ComponentScan注解所修飾的一個組合注解。
@ Configuration:一個類級的注解,只是對象是一個Bean定義的源。@ Configuration類通過@Bean注解的公共方法聲明Bean,@Bean注釋是用來表示一個方法實例化、配置和初始化,是由Spring IOC容器管理的一個新的對象。
測試@Configuration注解:
該類由@Configuration注解,并編寫了使用public修飾@Bean注解的方法restTemplate
因此,方法返回的RestTemplate就可以交由Spring IOC容器進(jìn)行管理,使用時可以使用@Autowired注解注入。而且,在此方法內(nèi)可以方便地對RestTemplate(Bean)做屬性方面的定制工作。
@EnableAutoConfiguration:啟用Spring應(yīng)用程序上下文的自動配置,試圖猜測和配置我們可能需要的Bean,自動配置類通常采用基于類路徑classpath和已經(jīng)定義的Bean對象進(jìn)行應(yīng)用。Spring的一個核心功能點。
@ComponentScan:為@Configuration注解的類去配置組件的掃描指令,同時提供了與Spring XML元素并行的支持,如果指令的包沒有被定義,則將從聲明該注解的類所在的包進(jìn)行掃描。通俗點講,該注解會自動掃描指令包下全部標(biāo)有@Component注解(包括@Componet下的子注解)的類,并把它們注冊為Spring IOC容器中的一個Bean。
(2)容器啟動之后執(zhí)行的操作
Runner01實現(xiàn)接口CommandLineRunner
Runner02實現(xiàn)接口ApplicationRunner
默認(rèn)情況下,ApplicationRunner有優(yōu)先于CommandLineRunner執(zhí)行
若想規(guī)定多個Runner執(zhí)行的順序,可以通過@Order注解去標(biāo)記執(zhí)行的順序
Runner01:
Runner02:
執(zhí)行結(jié)果:
(3)Profile環(huán)境配置
在寫應(yīng)用程序時,可能需要根據(jù)不同的環(huán)境來讀取配置文件,如開發(fā)、測試、生產(chǎn)三個不同的環(huán)境,則需要定義三個不同環(huán)境下的配置。
因此,可以在application.yml中合理地編排這些環(huán)境配置
(4)將配置信息封裝成實體類
配置文件信息:
實體類:
功能:讀取配置信息并自動封裝成實體類
@ConfigurationProperties同類的配置信息自動地封裝成實體類。并可以指定配置信息的前綴,在此指定了前綴為“adconf.mysql”的配置信息。
因此,MySQLConfig類中的四個屬性就會根據(jù)配置文件中前綴為“adconf.mysql”下的配置信息自動填充,封裝成實體類,方便程序調(diào)用。
(5)定時任務(wù)
在SpringBoot主程序中,需要加入@EnableScheduling注解,以啟動定時任務(wù)的配置
創(chuàng)建定時任務(wù)的實現(xiàn)類:
@Scheduled:定義常用定時任務(wù)的指令方式
執(zhí)行結(jié)果:
每隔一秒執(zhí)行一次。
總結(jié)
以上是生活随笔為你收集整理的SpringBoot常见功能特性分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十大经典排序算法动画与解析
- 下一篇: gradle idea java ssm