springboot讀取application.yaml文件數(shù)據(jù)的方法
本文實(shí)例為大家分享了springboot讀取application.yaml文件數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、創(chuàng)建并編輯對(duì)應(yīng)的文件
1.application.yaml
!?。∵@里一定要注意,datasource一定不能寫成dataSource,因?yàn)闀?huì)和Spring內(nèi)部的產(chǎn)生沖突
server: ? port: 8080 contry: china user: ? - name: zhangsan ? ? age: 18 ? - name: lisi ? ? age: 20 likes: ? - ball ? - code ? - game baseDir: c:/win10 #使用${屬性名}引用數(shù)據(jù) tempDir: ${baseDir}/temp #創(chuàng)建類:用于封裝下面的數(shù)據(jù) #由spring幫我們?nèi)ゼ虞d數(shù)據(jù)對(duì)象中,一定告訴spring加載這組信息 #使用時(shí)候從spring中直接獲取信息使用 datasource: ? driver: com.mysql.jdbc.Driver ? url: jdbc:mysql://localhost/springboot_db ? username: root ? password: root
2.MyDataSource
package com.codejams; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; //1.定義數(shù)據(jù)模型封裝yaml文件中對(duì)應(yīng)的數(shù)據(jù) //2.定義為spring管控的bean @Component //3.指定加載的數(shù)據(jù) @ConfigurationProperties(prefix="datasource") public class MyDataSource { ? ? private String driver; ? ? private String url; ? ? private String username; ? ? private String password; ? ? @Override ? ? public String toString() { ? ? ? ? return "MyDataSource{" + ? ? ? ? ? ? ? ? "driver='" + driver + '\'' + ? ? ? ? ? ? ? ? ", url='" + url + '\'' + ? ? ? ? ? ? ? ? ", username='" + username + '\'' + ? ? ? ? ? ? ? ? ", password='" + password + '\'' + ? ? ? ? ? ? ? ? '}'; ? ? } ? ? public String getDriver() { ? ? ? ? return driver; ? ? } ? ? public void setDriver(String driver) { ? ? ? ? this.driver = driver; ? ? } ? ? public String getUrl() { ? ? ? ? return url; ? ? } ? ? public void setUrl(String url) { ? ? ? ? this.url = url; ? ? } ? ? public String getUsername() { ? ? ? ? return username; ? ? } ? ? public void setUsername(String username) { ? ? ? ? this.username = username; ? ? } ? ? public String getPassword() { ? ? ? ? return password; ? ? } ? ? public void setPassword(String password) { ? ? ? ? this.password = password; ? ? } }
二、使用步驟
1.測(cè)試代碼
代碼如下(示例):
package com.codejams.controller; import com.codejams.MyDataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("books") public class BookController { ? ? //讀取yaml文件 ? ? @Value("${contry}") ? ? private String contry; ? ? @Value("${user[1].name}") ? ? private String name; ? ? @Value("${likes[1]}") ? ? private String like; ? ? @Value("${tempDir}") ? ? private String tempDir; ? ? //使用Environment對(duì)象封裝所有數(shù)據(jù) ? ? @Autowired ? ? private Environment env; ? ? //查看datasource是否注入成功 ? ? @Autowired ? ? private MyDataSource myDataSource; ? ? @GetMapping ? ? public String test(){ ? ? ? ? System.out.println("running..."); ? ? ? ? System.out.println(contry); ? ? ? ? System.out.println(name); ? ? ? ? System.out.println(like); ? ? ? ? System.out.println(tempDir); ? ? ? ? System.out.println("----------------------------"); ? ? ? ? System.out.println(env.getProperty("contry")); ? ? ? ? System.out.println(env.getProperty("user[1].name")); ? ? ? ? System.out.println("----------------------------"); ? ? ? ? System.out.println(myDataSource); ? ? ? ? return "running.."; ? ? } }
2.效果展示
如下(示例):
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot中application.properties與application.yml區(qū)別小結(jié)
- SpringBoot中讀取application.properties配置文件的方法
- 解決SpringBoot加載application.properties配置文件的坑
- 解決springboot application.properties server.port配置問(wèn)題
- SpringBoot沒有讀取到application.yml問(wèn)題及解決
- SpringBoot application.yml和bootstrap.yml的區(qū)別
- SpringBoot中application.properties、application.yaml、application.yml區(qū)別
相關(guān)文章
java存儲(chǔ)以及java對(duì)象創(chuàng)建的流程(詳解)
下面小編就為大家?guī)?lái)一篇java存儲(chǔ)以及java對(duì)象創(chuàng)建的流程(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05Mybatis攔截器實(shí)現(xiàn)數(shù)據(jù)分表
當(dāng)數(shù)據(jù)量比較多時(shí),放在一個(gè)表中的時(shí)候會(huì)影響查詢效率,本文主要介紹了Mybatis攔截器實(shí)現(xiàn)數(shù)據(jù)分表,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01JPA設(shè)置默認(rèn)字段及其長(zhǎng)度詳解
JPA是Java Persistence API的簡(jiǎn)稱,中文名Java持久層API,是JDK 5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。本文主要介紹了JPA如何設(shè)置默認(rèn)字段及其長(zhǎng)度,感興趣的同學(xué)可以了解一下2021-12-12Sharding JDBC讀寫分離實(shí)現(xiàn)原理及實(shí)例
這篇文章主要介紹了Sharding JDBC讀寫分離實(shí)現(xiàn)原理及實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12解決pageHelper分頁(yè)失效以及如何配置問(wèn)題
這篇文章主要介紹了解決pageHelper分頁(yè)失效以及如何配置問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04spring boot + jpa + kotlin入門實(shí)例詳解
這篇文章主要介紹了spring boot + jpa + kotlin入門實(shí)例詳解 ,需要的朋友可以參考下2017-07-07SpringBoot 回滾操作的幾種實(shí)現(xiàn)方式
回滾操作是一種常見的操作,用于撤銷之前執(zhí)行的操作,本文主要介紹了SpringBoot回滾操作的幾種實(shí)現(xiàn)方式,包含基于異常類型的回滾、基于自定義邏輯的回滾和基于數(shù)據(jù)庫(kù)狀態(tài)的回滾,感興趣的可以了解一下2024-03-03Springboot+Stomp協(xié)議實(shí)現(xiàn)聊天功能
本示例實(shí)現(xiàn)一個(gè)功能,前端通過(guò)websocket發(fā)送消息給后端服務(wù),后端服務(wù)接收到該消息時(shí),原樣將消息返回給前端,前端技術(shù)棧html+stomp.js,后端SpringBoot,需要的朋友可以參考下2024-02-02實(shí)戰(zhàn)干貨之基于SpringBoot的RabbitMQ多種模式隊(duì)列
RabbitMQ 是一個(gè)由Erlang語(yǔ)言開發(fā)的AMQP的開源實(shí)現(xiàn),支持多種客戶端。用于在分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息,在易用性、擴(kuò)展性、高可用性等方面表現(xiàn)不俗,下文將帶你深入了解 RabbitMQ 多種模式隊(duì)列2021-09-09