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