成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

SpringBoot 實(shí)戰(zhàn) (三) | 配置文件詳解

chenjiang3 / 346人閱讀

摘要:前言如題,今天解析下的配置文件。這時(shí)我們就可以用的屬性來配置隨機(jī)數(shù),比如隨機(jī)字符串隨機(jī)隨機(jī)以內(nèi)的隨機(jī)數(shù)的隨機(jī)數(shù)使用多配置文件很多時(shí)候我們開發(fā)項(xiàng)目都需要很多套環(huán)境,比如有測(cè)試環(huán)境,開發(fā)環(huán)境以及生產(chǎn)環(huán)境。原因是,是以的編碼方式讀取配置文件。

微信公眾號(hào):一個(gè)優(yōu)秀的廢人
如有問題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問題。
前言

如題,今天解析下 SpringBoot 的配置文件。

自定義屬性加載

首先構(gòu)建 SpringBoot 項(xiàng)目,不會(huì)的看這篇舊文 使用 IDEA 構(gòu)建 Spring Boot 工程。

首先在項(xiàng)目根目錄下加入以下自定義屬性:

# 防止讀取亂碼
spring.http.encoding.charset=UTF-8
# 項(xiàng)目啟動(dòng)端口
server.port=9999
# 自定義配置
com.nasus.author.name=一個(gè)優(yōu)秀的廢人
com.nasus.article.title=SpringBoot配置文件詳解

使用 @value 注解讀取配置文件屬性:

package com.nasus.bean;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * Project Name:springboot_properties_demo 
* Package Name:com.nasus.properties
* Date:2019/1/28 20:59
* Description: TODO: 描述該類的作用
* @author nasus
*/ @Data @Component public class PropertiesBean { @Value("${com.nasus.author.name}") private String name; @Value("${com.nasus.article.title}") private String title; @Value("${com.nasus.doing}") private String desc; }

之后新建 controller 測(cè)試自定義屬性加載,代碼如下:

package com.nasus.controller;

import com.nasus.bean.PropertiesBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Project Name:springboot_properties_demo 
* Package Name:com.nasus.controller
* Date:2019/1/28 21:41
* Description: TODO: 測(cè)試自定義屬性加載
* * @author nasus
*/ @RestController @RequestMapping("/test") public class TestController { @Autowired private PropertiesBean propertiesBean; @GetMapping("/getInfo") public PropertiesBean getInfo(){ return propertiesBean; } }

訪問 http://localhost:8080/test/getInfo 查看加載結(jié)果:

可以看到,加入 @value 注解之后,配置文件的屬性都被讀取出來了。以前,或許我們還需要專門寫一個(gè)讀取配置文件的工具類才能把屬性讀取出來,現(xiàn)在有了 Spring ,我們可以直接使用 @value 就能讀取了,簡直不能太方便。本例源碼在這:github 地址

參數(shù)間的引用

配置文件代碼如下:

# 防止讀取亂碼
spring.http.encoding.charset=UTF-8
# 項(xiàng)目啟動(dòng)端口
server.port=9999
# 自定義配置
com.nasus.author.name=一個(gè)優(yōu)秀的廢人
com.nasus.article.title=SpringBoot配置文件詳解

com.nasus.doing=${com.nasus.author.name}寫文章《${com.nasus.article.title}》

可以看到最后一個(gè)參數(shù)配置使用了前兩個(gè)的參數(shù)配置,測(cè)試結(jié)果如下:

使用隨機(jī)數(shù)

有時(shí)項(xiàng)目需求,可能我們需要配置一些隨機(jī)數(shù),比如說為了安全而隨機(jī)配置的服務(wù)器端口,以及登錄密鑰。這時(shí)我們就可以用 SpringBoot 的 random 屬性來配置隨機(jī)數(shù),比如:

# 隨機(jī)字符串
com.nasus.article.value=${random.value}
# 隨機(jī)int
com.nasus.article.number=${random.int}
# 隨機(jī)long
com.nasus.article.bignumber=${random.long}
# 10以內(nèi)的隨機(jī)數(shù)
com.nasus.article.test1=${random.int(10)}
# 10-20的隨機(jī)數(shù)
com.nasus.article.test2=${random.int[10,20]}
使用多配置文件

很多時(shí)候我們開發(fā)項(xiàng)目都需要很多套環(huán)境,比如有測(cè)試環(huán)境,開發(fā)環(huán)境以及生產(chǎn)環(huán)境。不同的環(huán)境就需要使用不同的配置文件,為此我們可以根據(jù)這 3 個(gè)環(huán)境分別新建 以下 3 個(gè)配置文件。

application-dev.properties:開發(fā)環(huán)境
application-test.properties:測(cè)試環(huán)境
application-prod.properties:生產(chǎn)環(huán)境

項(xiàng)目中默認(rèn)的配置文件是 application.properties 。這時(shí)我們可以根據(jù)自己的環(huán)境去使用相應(yīng)的配置文件,比如說,項(xiàng)目各個(gè)環(huán)境的端口必須不一樣。那我們可以這樣配置:
application-dev.properties:開發(fā)環(huán)境

server.port=6666

application-test.properties:測(cè)試環(huán)境

server.port=7777

application-prod.properties:生產(chǎn)環(huán)境

server.port=8888

假如,現(xiàn)在我打包上線,那就必須用生產(chǎn)環(huán)境的配置文件了,這時(shí)我們可以在 默認(rèn)的配置文件 application.properties 中加入以下配置即可

spring.profiles.active=prod
配置數(shù)據(jù)庫

SpringBoot 的配置文件有兩種格式,一種是 .properties 格式(以上栗子都是用的這種)還有一種用的是 .yaml 格式。以下是用 yaml 方式配置。這兩種格式并無好壞之分,純看個(gè)人使用習(xí)慣。我就比較喜歡 yaml 格式,因?yàn)榭雌饋肀容^簡潔。

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=true
    username: 你的數(shù)據(jù)庫名稱
    password: 你的數(shù)據(jù)庫密碼

  jpa:
    hibernate:
      ddl-auto: update   #ddl-auto:設(shè)為update 表示每次都重新建表
    show-sql: true
注意事項(xiàng)

使用 yaml 格式需要注意一點(diǎn)就是 鍵值對(duì)冒號(hào)后面,必須空一格

application.properties 配置中文值的時(shí)候,讀取出來的屬性值會(huì)出現(xiàn)亂碼問題。但是 application.yml 不會(huì)出現(xiàn)亂碼問題。原因是,Spring Boot 是以 iso-8859 的編碼方式讀取 application.properties 配置文件。

解決第二點(diǎn),只需加入 spring.http.encoding.charset=UTF-8 配置即可。

后語

以上就是我對(duì) SpringBoot 配置文件的理解與使用,當(dāng)然以上只是介紹了一下 SpringBoot 配置文件的幾個(gè)用法,它的用法還有非常多,想要深入使用還是需要各位多多深入實(shí)踐。最后,對(duì) Python 、Java 感興趣請(qǐng)長按二維碼關(guān)注一波,我會(huì)努力帶給你們價(jià)值,如果覺得本文對(duì)你哪怕有一丁點(diǎn)幫助,請(qǐng)幫忙點(diǎn)好看,讓更多人知道。

另外,關(guān)注之后在發(fā)送 1024 可領(lǐng)取免費(fèi)學(xué)習(xí)資料。資料內(nèi)容詳情請(qǐng)看這篇舊文:Python、C++、Java、Linux、Go、前端、算法資料分享

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73233.html

相關(guān)文章

  • SpringBoot 實(shí)戰(zhàn) (二) | 第一個(gè) SpringBoot 工程詳解

    摘要:代碼如下可以看到中一共有個(gè)依賴,其中只有是我手動(dòng)加入的,用于單元測(cè)試。點(diǎn)擊項(xiàng)目啟動(dòng)按鈕,效果如下好的程序必須配備完善的單元測(cè)試。測(cè)試結(jié)果如下可以看到紅圈框住的地方,出現(xiàn)這個(gè)綠色標(biāo)志證明單元測(cè)試沒問題。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問題。 前言 哎呦喂,按照以往的慣例今天周六我的安排應(yīng)該是待在家學(xué)學(xué)貓叫啥的。但是今年這種日子就可能一去不復(fù)返了,沒...

    GeekQiaQia 評(píng)論0 收藏0
  • 寫這么多系列博客,怪不得找不到女朋友

    摘要:前提好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時(shí)間比較早,而且堅(jiān)持的時(shí)間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時(shí)...

    JerryWangSAP 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<