最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Springboot配置文件的使用

 更新時間:2017年07月11日 16:47:16   作者:S_H-A_N  
在springboot項目中,也可以使用yml類型的配置文件代替properties文件。接下來通過本文給大家分享Springboot配置文件的使用,感興趣的朋友一起看看吧

如果使用IDEA創(chuàng)建Springboot項目,默認會在resource目錄下創(chuàng)建application.properties文件,在springboot項目中,也可以使用yml類型的配置文件代替properties文件

一、單個的獲取配置文件中的內(nèi)容

在字段上使用@Value("${配置文件中的key}")的方式獲取單個的內(nèi)容

1.在resource目錄下創(chuàng)建application.yml文件,并添加一些配置,在yml文件中,key:后面需要添加一個空格,然后是value值,假設(shè)配置如下

#注意:在yml文件中添加value值時,value前面需要加一個空格 
ip: 127.0.0.0 
port: 8080 

2.創(chuàng)建一個ConfigController類,獲取配置文件中的內(nèi)容并賦值給相應(yīng)的字段

package com.example; 
import org.springframework.beans.factory.annotation.Value; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
@RestController 
public class ConfigController { 
 @Value("${ip}")//獲取application.yml文件中名為ip的value值 
 private String ip; 
 @Value("${port}")//獲取application.yml文件中名為port的value值,并且自動完成數(shù)據(jù)類型轉(zhuǎn)換 
 private Integer port; 
 @RequestMapping("/config") 
 public String config() { 
  return "ip:"+ip+",port:"+port; 
 } 
} 

3.在SrpingbootdemoApplication中啟動項目

package com.example; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
//入口 
@SpringBootApplication 
public class SpringbootdemoApplication { 
 public static void main(String[] args) { 
  SpringApplication.run(SpringbootdemoApplication.class, args); 
 } 
} 

4.在瀏覽器中輸入http://localhost:8080/config,可以看到輸出了配置文件中配置的內(nèi)容

二、使用Bean自動注入獲取配置文件中的內(nèi)容

假如配置文件中有很多內(nèi)容,一個一個獲取將會很麻煩,那么我們另外一種方式去獲取配置文件中的信息

1.在配置文件中添加以下信息(注意格式),此處我們使用了一個名為devconfig的前綴

devconfig: 
 ip: 127.0.0.0 
 port: 8080 

2.創(chuàng)建ConfigBean,在類中添加@Componet和@ConfigurationProperties注解,其中prefix設(shè)置為devconfig,將會獲取yml中前綴為devconfig下的配置信息

package com.example; 
 import org.springframework.boot.context.properties.ConfigurationProperties; 
import org.springframework.stereotype.Component; 
@Component 
@ConfigurationProperties(prefix = "devconfig")//獲取前綴為devconfig下的配置信息 
public class ConfigBean { 
 private String ip;//名字與配置文件中一致 
 private Integer port; 
 public String getIp() { 
  return ip; 
 } 
 public void setIp(String ip) { 
  this.ip = ip; 
 } 
 public Integer getPort() { 
  return port; 
 } 
 public void setPort(Integer port) { 
  this.port = port; 
 } 
} 

3.在ConfigController中使用@Autowrite對bean自動注入,實例化bean

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Value; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
@RestController 
public class ConfigController { 
// @Value("${ip}")//獲取application.yml文件中名為ip的value值 
// private String ip; 
// 
// @Value("${port}")//獲取application.yml文件中名為port的value值,并且自動完成數(shù)據(jù)類型轉(zhuǎn)換 
// private Integer port; 
 //自動注入,實例化bean 
 @Autowired 
 private ConfigBean configBean; 
 @RequestMapping("/config") 
 public String config() { 
  return "另一種方式: ip:"+configBean.getIp()+",port:"+configBean.getPort(); 
 } 
} 

4.運行程序,輸入http://localhost:8080/config進行測試

三、多個配置文件切換使用

1.假設(shè)開發(fā)環(huán)境使用ip為:127.0.0.0 使用端口為:8080

          生產(chǎn)環(huán)境使用ip為:127.0.0.1 使用端口為:8081

下面來修改配置文件,在resource目錄下創(chuàng)建一個名為application-dev.yml文件開發(fā)環(huán)境使用配置文件和application-produce.yml生產(chǎn)環(huán)境配置文件

application-dev.yml

config: 
 ip: 127.0.0.0 
 port: 8080 

application-produce.yml

config: 
 ip: 127.0.0.1 
 port: 8081 

application.yml中配置生效的配置文件,此處設(shè)為produce,也就是使用application-produce.yml文件

spring: 
 profiles: 
 active: produce 

2.修改ConfigBean的prefix為config

package com.example; 
import org.springframework.boot.context.properties.ConfigurationProperties; 
import org.springframework.stereotype.Component; 
@Component 
@ConfigurationProperties(prefix = "config") 
public class ConfigBean { 
 private String ip;//名字與配置文件中一致 
 private Integer port; 
 public String getIp() { 
  return ip; 
 } 
 public void setIp(String ip) { 
  this.ip = ip; 
 } 
 public Integer getPort() { 
  return port; 
 } 
 public void setPort(Integer port) { 
  this.port = port; 
 } 
} 

3.運行程序,在瀏覽器輸入http://localhost:8080/config進行測試

4.也可通過啟動jar包時添加參數(shù)來更改生效的配置文件,命令為

Java -jar XXX.jar --spring.profiles.active=poduce

以上所述是小編給大家介紹的詳解Springboot配置文件的使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • MyBatis?resultMap?id標簽的錯誤使用方式

    MyBatis?resultMap?id標簽的錯誤使用方式

    這篇文章主要介紹了MyBatis?resultMap?id標簽的錯誤使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 詳解Spring如何解析占位符

    詳解Spring如何解析占位符

    Spring一直支持將屬性定義到外部的屬性的文件中,并使用占占位符的形式為使用"${}"包裝的屬性名稱,為了使用屬性占位符,我們必須配置一個PropertyPlaceholderConfigurer或PropertySourcesPlaceholderConfigurer實例,本文將介紹如何解析占位符
    2021-06-06
  • 詳解Spring MVC4 純注解配置教程

    詳解Spring MVC4 純注解配置教程

    本篇文章主要介紹了Spring MVC4 純注解配置教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java基礎(chǔ)學習筆記之數(shù)組詳解

    Java基礎(chǔ)學習筆記之數(shù)組詳解

    這篇文章主要介紹了Java基礎(chǔ)學習筆記之數(shù)組,結(jié)合實例形式詳細分析了java的基本概念、定義、迭代、輸出、反轉(zhuǎn)、排序等常用操作技巧,需要的朋友可以參考下
    2019-08-08
  • SpringMVC注解之@ResponseBody注解原理

    SpringMVC注解之@ResponseBody注解原理

    今天帶大家分析一下@ResponseBody注解原理,文中有非常詳細的介紹及代碼示例,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • SpringMVC的處理器攔截器HandlerInterceptor詳解

    SpringMVC的處理器攔截器HandlerInterceptor詳解

    這篇文章主要介紹了SpringMVC的處理器攔截器HandlerInterceptor詳解,SpringWebMVC的處理器攔截器,類似于Servlet開發(fā)中的過濾器Filter,用于處理器進行預(yù)處理和后處理,需要的朋友可以參考下
    2024-01-01
  • Java類的加載連接和初始化實例分析

    Java類的加載連接和初始化實例分析

    這篇文章主要介紹了Java類的加載連接和初始化,結(jié)合具體實例形式分析了java類的加載、連接、初始化相關(guān)原理與實現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • java設(shè)計模式責任鏈模式原理案例詳解

    java設(shè)計模式責任鏈模式原理案例詳解

    一個事件需要經(jīng)過多個對象處理是一個挺常見的場景,譬如采購審批流程,請假流程,軟件開發(fā)中的異常處理流程,web請求處理流程等各種各樣的流程,可以考慮使用責任鏈模式來實現(xiàn)
    2021-09-09
  • springboot項目啟動慢的問題排查方式

    springboot項目啟動慢的問題排查方式

    這篇文章主要介紹了springboot項目啟動慢的問題排查方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java并發(fā)多線程編程之CountDownLatch的用法

    Java并發(fā)多線程編程之CountDownLatch的用法

    這篇文章主要介紹了Java并發(fā)多線程編程之CountDownLatch的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

大安市| 无为县| 原阳县| 兴业县| 汝州市| 天津市| 阳谷县| 武川县| 揭西县| 平泉县| 剑川县| 大安市| 北安市| 竹山县| 庆城县| 河北区| 北京市| 都江堰市| 耿马| 建始县| 砚山县| 株洲县| 阿拉善盟| 珠海市| 铜梁县| 若羌县| 视频| 阿拉善左旗| 海口市| 定日县| 中超| 新丰县| 介休市| 化隆| 宾阳县| 深州市| 辽阳县| 五原县| 新营市| 鲁甸县| 衡南县|