這篇文章主要介紹“spring boot怎么獲取配置文件的屬性”,在日常操作中,相信很多人在spring boot怎么獲取配置文件的屬性問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”spring boot怎么獲取配置文件的屬性”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的張家港網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
server: port: 8888 tomcat: uri-encoding: UTF-8 # 配置微服務(wù)的地址 url: # 訂單微服務(wù)的地址 orderUrl: http://localhost:8002 #微服務(wù)地址2 taskUrl: http://localhost:8003 #微服務(wù)地址3 customerUrl: http://localhost:8004 那么我們?nèi)绾潍@取呢? 第一種方式:直接使用@Value("${name}")注解就可以將配置文件中的屬性值注入進(jìn)來。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 描述:微服務(wù)地址調(diào)用 * @author Administrator * @create 2018-10-18 16:11 */ @RestController @RequestMapping("/url") public class ConfigController { private static final Logger LOGGER = LoggerFactory.getLogger(ConfigController.class); //在屬性上使用 @Value 注解即可獲取到配置文件中的配置信息 @Value("${url.orderUrl}") private String orderUrl; @RequestMapping("/orderUrl") public String testConfig() { LOGGER.info("=====獲取的訂單服務(wù)地址為:{}", orderUrl); return orderUrl; } } 第二種方式:多個(gè)配置信息的情形,列入我們有多個(gè)微服務(wù)地址,這樣的話我們就還可以簡單一些。 1 引入依賴2 定義一個(gè)保存服務(wù)url的類: import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * 描述:微服務(wù)地址 * @author Administrator * @create 2018-10-18 16:28 */ @Component @ConfigurationProperties(prefix = "url") public class ServiceUrl { private String orderUrl; private String taskUrl; private String customerUrl; public String getOrderUrl() { return orderUrl; } public void setOrderUrl(String orderUrl) { this.orderUrl = orderUrl; } public String getTaskUrl() { return taskUrl; } public void setTaskUrl(String taskUrl) { this.taskUrl = taskUrl; } public String getCustomerUrl() { return customerUrl; } 使用 @ConfigurationProperties 注解并使用 prefix 指定一個(gè)前綴,那么該類中的屬性名就是配置中去掉前綴后的名字,一一對應(yīng)即可。即:前綴名 + 屬性名就是配置文件中定義的 key。同時(shí),該類上面需要加上 @Component 注解,把該類作為組件放到 Spring 容器中,讓 Spring 去管理,我們使用的時(shí)候直接注入即可。 然后我們直接使用@Resource注入就可以使用了 import com.ruifeng.demo.common.ServiceUrl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * 描述:微服務(wù)地址調(diào)用 * @author Administrator * @create 2018-10-18 16:11 */ @RestController @RequestMapping("/url") public class ConfigController { private static final Logger LOGGER = LoggerFactory.getLogger(ConfigController.class); @Resource private ServiceUrl microServiceUrl; @RequestMapping("/config") public String testConfigs() { LOGGER.info("=====獲取的訂單服務(wù)地址為:{}", microServiceUrl.getOrderUrl()); LOGGER.info("=====獲取的任務(wù)服務(wù)地址為:{}", microServiceUrl.getTaskUrl()); LOGGER.info("=====獲取的客戶服務(wù)地址為:{}", microServiceUrl.getCustomerUrl()); return "success"; } } org.springframework.boot spring-boot-configuration-processor true
到此,關(guān)于“spring boot怎么獲取配置文件的屬性”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!