国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringBoot進階教程 | 第一篇:YML多文檔塊實現多環境配置

shmily / 693人閱讀

摘要:你是否為一個功能多個和多個文件區分不同運行環境配置,經常為這些配置文件的管理而頭疼,現在通過這篇文章,將徹底解決你的煩惱,這篇文篇介紹,怎么通過文件構建多文檔塊,區分不同環境配置,自由切換不同環境啟動項目,一個配置文件搞定。

你是否為SpringBoot一個功能多個yml和多個properties文件區分不同運行環境配置,經常為這些配置文件的管理而頭疼,現在通過這篇文章,將徹底解決你的煩惱,這篇文篇介紹,怎么通過yml文件構建多文檔塊,區分不同環境配置,自由切換不同環境啟動項目,一個配置文件搞定。

YAML簡介

YAML“YAML不是一種標記語言”的外語縮寫(見前方參考資料原文內容);但為了強調這種語言以數據做為中心,而不是以置標語言為重點,而用返璞詞重新命名。它是一種直觀的能夠被電腦識別的數據序列化格式,是一個可讀性高并且容易被人類閱讀,容易和腳本語言交互,用來表達資料序列的編程語言。

它是類似于標準通用標記語言的子集XML的數據描述語言,語法比XML簡單很多。

基本語法結構

多行縮進

數據結構可以用類似大綱的縮排方式呈現,結構通過縮進來表示,連續的項目通過減號“-”來表示,map結構里面的key/value對用冒號“:”來分隔。樣例如下:

house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345

注意:

1.字串不一定要用雙引號標識;

2.在縮排中空白字符的數目并不是非常重要,只要相同階層的元素左側對齊就可以了(不過不能使用`TAB`字符);

3.允許在文件中加入選擇性的空行,以增加可讀性;

4. 在一個檔案中,可同時包含多個文件,并用`“——”`分隔;

5.選擇性的符號`“...”`可以用來表示檔案結尾(在利用串流的通訊中,這非常有用,可以在不關閉串流的情況下,發送結束訊號)。

單行縮寫

YAML也有用來描述好幾行相同結構的數據的縮寫語法,數組用"[]"包括起來,hash"{}"來包括。因此,上面的這個YAML能夠縮寫成這樣:

house:
  family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] }
  address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 }
準備工作

環境:

windows
jdk 8
maven 3.0
IDEA
構建工程
 

    4.0.0
    
        cn.zhangbox
        spring-boot-study
        1.0-SNAPSHOT
    

    cn.zhangbox
    spring-boot-02-config
    0.0.1-SNAPSHOT
    jar

    spring-boot-02-config
    Demo project for Spring Boot

    
        UTF-8
        UTF-8
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

修改YML配置
#選擇哪一個環境的配置
#這里可以在每個環境配置redis,數據庫(mysql),消息(kafka)等相關的組件的配置
spring:
  profiles:
    active: prod

#文檔塊區分為三個---
---
server:
  port: 8081
spring:
  profiles: test

#文檔塊區分為三個---
---
server:
  port: 8082
spring:
  profiles: test

#文檔塊區分為三個---
---
server:
  port: 8083
spring:
  profiles: prod
創建啟動類
@SpringBootApplication
public class SpringBootConfigApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootConfigApplication.class, args);
    }
}
控制臺打印
 .   ____          _            __ _ _
 / / ___"_ __ _ _(_)_ __  __ _    
( ( )\___ | "_ | "_| | "_ / _` |    
 /  ___)| |_)| | | | | || (_| |  ) ) ) )
  "  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.5.9.RELEASE)

2018-07-04 15:07:26.214  INFO 14812 --- [           main] c.z.s.SpringBootConfigApplication        : Starting SpringBootConfigApplication on MS-20180428GSYE with PID 14812 (C:UsersAdministratorDesktopspring-boot-02-config	argetclasses started by Administrator in C:UsersAdministratorDesktopspring-boot-02-config)
2018-07-04 15:07:26.219  INFO 14812 --- [           main] c.z.s.SpringBootConfigApplication        : The following profiles are active: prod
2018-07-04 15:07:26.281  INFO 14812 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3f57bcad: startup date [Wed Jul 04 15:07:26 GMT+08:00 2018]; root of context hierarchy
2018-07-04 15:07:28.988  INFO 14812 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8083 (http)
2018-07-04 15:07:29.029  INFO 14812 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2018-07-04 15:07:29.031  INFO 14812 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.23
2018-07-04 15:07:29.184  INFO 14812 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2018-07-04 15:07:29.184  INFO 14812 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 2909 ms
2018-07-04 15:07:29.419  INFO 14812 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: "dispatcherServlet" to [/]
2018-07-04 15:07:29.424  INFO 14812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: "characterEncodingFilter" to: [/*]
2018-07-04 15:07:29.424  INFO 14812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: "hiddenHttpMethodFilter" to: [/*]
2018-07-04 15:07:29.424  INFO 14812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: "httpPutFormContentFilter" to: [/*]
2018-07-04 15:07:29.424  INFO 14812 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: "requestContextFilter" to: [/*]
2018-07-04 15:07:30.605  INFO 14812 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3f57bcad: startup date [Wed Jul 04 15:07:26 GMT+08:00 2018]; root of context hierarchy
2018-07-04 15:07:30.731  INFO 14812 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-07-04 15:07:30.732  INFO 14812 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-07-04 15:07:30.777  INFO 14812 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-07-04 15:07:30.777  INFO 14812 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-07-04 15:07:30.833  INFO 14812 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-07-04 15:07:31.166  INFO 14812 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-07-04 15:07:31.470  INFO 14812 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8083 (http)
2018-07-04 15:07:31.475  INFO 14812 --- [           main] c.z.s.SpringBootConfigApplication        : Started SpringBootConfigApplication in 5.897 seconds (JVM running for 7.324)

至此YML多文檔塊多環境配置是不是非常簡單,切換環境只需要修改

spring:
  profiles:
    active: prod

中active對應的環境的值即可。

源碼地址

Spring Boot多文檔塊多數據源源碼

歡迎關注我的微信公眾號獲取更多更全的學習資源,視頻資料,技術干貨!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71484.html

相關文章

  • SpringBoot非官方教程 | 一篇:構建第一SpringBoot工程

    摘要:簡介它的設計目的就是為例簡化開發,開啟了各種自動裝配,你不想寫各種配置文件,引入相關的依賴就能迅速搭建起一個工程。它采用的是建立生產就緒的應用程序觀點,優先于配置的慣例。另,本系列教程全部用的作為開發工具。 簡介 spring boot 它的設計目的就是為例簡化開發,開啟了各種自動裝配,你不想寫各種配置文件,引入相關的依賴就能迅速搭建起一個web工程。它采用的是建立生產就緒的應用程序觀...

    Cheriselalala 評論0 收藏0
  • 史上最簡單的 SpringCloud 教程 | 一篇: 服務的注冊與發現(Eureka)

    摘要:創建過程同類似創建完如下通過注解表明自己是一個僅僅是不夠的,還需要在配置文件中注明自己的服務注冊中心的地址,配置文件如下需要指明這個很重要,這在以后的服務與服務之間相互調用一般都是根據這個。 轉載請標明出處: http://blog.csdn.net/forezp/a...本文出自方志朋的博客 一、spring cloud簡介 spring cloud 為開發人員提供了快速構建分布式系...

    only_do 評論0 收藏0
  • SpringCloud核心教程 | 第三篇:服務注冊與發現 Eureka篇

    摘要:下一篇介紹基于的服務注冊與調用。服務提供者工程配置這里服務提供者是使用之前進階教程第三篇整合連接池以及監控改造而來,這里一樣的部分就不再重復說明,下面將說明新增的部分。 Spring Cloud簡介 Spring Cloud是一個基于Spring Boot實現的云應用開發工具,它為基于JVM的云應用開發中涉及的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分...

    scq000 評論0 收藏0

發表評論

0條評論

shmily

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<