摘要:隨機(jī)值配置文件配置文件中可以用來(lái)生成各種不同類型的隨機(jī)值,從而簡(jiǎn)化了代碼生成的麻煩,例如生成值值或者字符串。多環(huán)境配置是用來(lái)針對(duì)不同環(huán)境提供不同配置的支持全局配置使用。通過中設(shè)置值在下新建和文件并分別配置中配置默認(rèn)值使用拓展
一.基本配置 1.1 springboot入口類@SpringBootApplication
@SpringBootApplication 是springboot的核心注解,它是一個(gè)組合注解:
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
雖然定義使用了多個(gè)Annotation進(jìn)行了原信息標(biāo)注,但實(shí)際上重要的只有三個(gè)Annotation:
@Configuration(@SpringBootConfiguration點(diǎn)開查看發(fā)現(xiàn)里面還是應(yīng)用了@Configuration)
這里的@Configuration對(duì)我們來(lái)說不陌生,它就是JavaConfig形式的Spring Ioc容器的配置類使用的那個(gè)@Configuration,SpringBoot社區(qū)推薦使用基于JavaConfig的配置形式,所以,這里的啟動(dòng)類標(biāo)注了@Configuration之后,本身其實(shí)也是一個(gè)IoC容器的配置類。
@EnableAutoConfiguration,大家是否還記得Spring框架提供的各種名字為@Enable開頭的Annotation定義?比如@EnableScheduling、@EnableCaching、@EnableMBeanExport等,@EnableAutoConfiguration的理念和做事方式其實(shí)一脈相承,簡(jiǎn)單概括一下就是,借助@Import的支持,收集和注冊(cè)特定場(chǎng)景相關(guān)的bean定義。
1.2 定制Banner@ComponentScan這個(gè)注解在Spring中很重要,它對(duì)應(yīng)XML配置中的元素,@ComponentScan的功能其實(shí)就是自動(dòng)掃描并加載符合條件的組件(比如@Component和@Repository等)或者bean定義,最終將這些bean定義加載到IoC容器中。
springboot在啟動(dòng)的時(shí)候
src/main/resource下新建一個(gè)banner.txt文件
通過生成字符網(wǎng)站生成想要的字符如:lvmama
1.3 springboot 配置文件 1.3.1 文件自定義屬性spring Boot使用一個(gè)全局配置文件application.properties或application.yml,作用是對(duì)一些默認(rèn)的配置進(jìn)行修改,一個(gè)簡(jiǎn)單的案例:
將Tomcat默認(rèn)端口8080修改成8088,默認(rèn)的訪問路徑"/"改為"/lvmama"
application.yml:
server: port: 8088 context-path: /lvmama
application.properties
server.port: 8088 server.context-path: /lvmama
推薦使用application.yml,配合看起來(lái)更直觀,清晰。yml 文件在寫的時(shí)候?qū)哟胃袕?qiáng),而且少寫了代碼。
1.3.1 隨機(jī)值配置文件配置文件中${random} 可以用來(lái)生成各種不同類型的隨機(jī)值,從而簡(jiǎn)化了代碼生成的麻煩,例如 生成 int 值、long 值或者 string 字符串。
dudu.secret=${random.value} dudu.number=${random.int} dudu.bignumber=${random.long} dudu.uuid=${random.uuid} dudu.number.less.than.ten=${random.int(10)}1.3.2 外部配置-命令行參數(shù)配置
java -jar xx.jar --server.port=90901.3.3 配置文件的優(yōu)先級(jí)
application.properties和application.yml文件可以放在一下四個(gè)位置:
外置,在相對(duì)于應(yīng)用程序運(yùn)行目錄的/congfig子目錄里。
外置,在應(yīng)用程序運(yùn)行的目錄里
內(nèi)置,在config包內(nèi)
內(nèi)置,在Classpath根目錄
同樣,這個(gè)列表按照優(yōu)先級(jí)排序,也就是說,src/main/resources/config下application.properties覆蓋src/main/resources下application.properties中相同的屬性,如圖:
此外,如果你在相同優(yōu)先級(jí)位置同時(shí)有application.properties和application.yml,那么application.yml里面的屬性就會(huì)覆蓋application.properties里的屬性。
1.3.4 Profile-多環(huán)境配置Profile是Spring用來(lái)針對(duì)不同環(huán)境提供不同配置的支持,全局Profile配置使用application-{profile}.properties。通過application.properties中設(shè)置spring.profiles.active值
在src/resources/下新建application-normal.yml和application-trunk.yml文件并分別配置
application-normal.yml
server: port: 8080 context-path: /lvmama/normal
application-trunk.yml
server: port: 80 context-path: /lvmama/trunk
application.properties中配置默認(rèn)值:
spring: profiles: active: trunk
使用 mvn spring-boot:run -Drun.profiles=normal
拓展:http://blog.javachen.com/2016...
http://blog.csdn.net/lihe2008...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70737.html
摘要:初衷看了一下相關(guān)的書籍,創(chuàng)建一個(gè)的應(yīng)用,是那么的簡(jiǎn)單。首先,我們只是創(chuàng)建一個(gè)簡(jiǎn)單的并不打算使用默認(rèn)的,而是使用傳統(tǒng)的。在下創(chuàng)建目錄并且在目錄下新建,內(nèi)容為頁(yè)面。如果是在內(nèi)置的的情況下,應(yīng)用會(huì)自動(dòng)重啟。 初衷 看了一下spring-boot相關(guān)的書籍,創(chuàng)建一個(gè)hello world!的應(yīng)用,是那么的簡(jiǎn)單。然而,自己動(dòng)手,卻很不一樣。 首先,我們只是創(chuàng)建一個(gè)簡(jiǎn)單的hello world!并...
摘要:前兩天組里的大佬心血來(lái)潮,讓我這周把項(xiàng)目里的版本升級(jí)到最新版本,目前項(xiàng)目用到的是版本為的版本為現(xiàn)在按照要求統(tǒng)一升級(jí)到。三數(shù)據(jù)庫(kù)連接池同樣也是版本不兼容,需要升級(jí)到,親測(cè)有效。差不多這些,后續(xù)遇到其他問題還會(huì)繼續(xù)補(bǔ)充。 前兩天組里的大佬心血來(lái)潮,讓我這周把項(xiàng)目里的spring-boot、spring-cloud版本升級(jí)到最新版本,目前項(xiàng)目用到的是spring-boot版本為1.5.9.R...
摘要:這里使用的是數(shù)據(jù)庫(kù)啟動(dòng)類上加上注解在啟動(dòng)類中添加對(duì)包掃描掃描多個(gè)包下的可以有以下幾種方法掃描會(huì)自動(dòng)加載相關(guān)配置,數(shù)據(jù)源就會(huì)自動(dòng)注入到中,會(huì)自動(dòng)注入到中,可以直接使用。有配置文件下的使用掃描多個(gè)包下的可以有以下幾種方法掃描 Spring-Boot 學(xué)習(xí)筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團(tuán)隊(duì)提供的全新框架...
摘要:不過仔細(xì)了解了一段時(shí)候發(fā)現(xiàn),其實(shí)他的原理是很簡(jiǎn)單的,所以想要自己也動(dòng)手實(shí)現(xiàn)一個(gè)功能類似的框架。原文地址從零開始實(shí)現(xiàn)一個(gè)簡(jiǎn)易的框架 前言 最近在看spring-boot框架的源碼,看了源碼之后更是讓我感受到了spring-boot功能的強(qiáng)大。而且使用了很多的設(shè)計(jì)模式,讓人在看的時(shí)候覺得有點(diǎn)難以下手。 不過仔細(xì)了解了一段時(shí)候發(fā)現(xiàn),其實(shí)他的原理是很簡(jiǎn)單的,所以想要自己也動(dòng)手實(shí)現(xiàn)一個(gè)功能類似的...
閱讀 2896·2021-09-28 09:36
閱讀 3655·2021-09-27 13:59
閱讀 2499·2021-08-31 09:44
閱讀 2288·2019-08-30 15:54
閱讀 2361·2019-08-30 15:44
閱讀 1196·2019-08-30 13:45
閱讀 1232·2019-08-29 18:38
閱讀 1221·2019-08-29 18:37