關(guān)于application.yml數(shù)據(jù)庫配置方式
application.yml數(shù)據(jù)庫配置
1.配置代碼
server:
port: 8001
#spring的配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource #數(shù)據(jù)源為druid
driver-class-name: com.mysql.cj.jdbc.Driver #數(shù)據(jù)庫驅(qū)動(dòng)
url: jdbc:mysql://localhost:3306/spring_cloud?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root<!--Mysql驅(qū)動(dòng)-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.24</version>
<scope>runtime</scope>
</dependency>
<!--alibaba數(shù)據(jù)庫數(shù)據(jù)源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>2.useSSL
- SSL即為: Secure Sockets Layer 安全套接字協(xié)議。
- useSSL=true: 就是一般通過證書或者令牌進(jìn)行安全驗(yàn)證。
- useSSL=false: 就是通過賬號(hào)密碼進(jìn)行連接。
注意:
- MySQL 5.7之后的版本必須要加上useSSL=false;
- 之前不用,默認(rèn)是false。
3.useUnicode=true&characterEncoding=UTF-8
設(shè)置之后,不管數(shù)據(jù)庫是什么編碼,讀取的時(shí)候都會(huì)轉(zhuǎn)換成UTF-8,存取的時(shí)候還是會(huì)按數(shù)據(jù)庫編碼存。
4.serverTimezone
時(shí)區(qū)配置,MySQL8.0以上版本,url需要添加時(shí)區(qū)。
如:
#北京東八區(qū) serverTimezone=GMT%2B8 #上海時(shí)區(qū) serverTimezone=Asia/Shanghai
application.yml基礎(chǔ)配置以及讀取
配置文件的格式
1.SpringBoot提供了3種配置文件的格式
- properties(傳統(tǒng)格式/默認(rèn)格式)
- yml(主流格式)
- yaml
配置文件
1. SpringBoot中導(dǎo)入對(duì)應(yīng)starter后,提供對(duì)應(yīng)配置屬性
2.書寫SpringBoot配置采用關(guān)鍵字+提示形式書寫
配置文件的加載順序
properties優(yōu)先級(jí)>yml優(yōu)先級(jí)>yaml優(yōu)先級(jí)
不同配置文件中相同配置按照加載優(yōu)先級(jí)相互覆蓋,不同配置文件中不同配置全部保留。
yml文件內(nèi)容
#簡單配置
server:
port: 80
#對(duì)象配置
users:
name: zhangsan
id: 18
#簡單列表配置,- 后跟1個(gè)空格
likes:
- 游泳
- 打球
- 讀書
#列表中是對(duì)象,key: value,不要忘記:后的空格
books: [{name: 三國,id: 435},{name: 水壺,id: 6599}]
#在配置文件中可以使用屬性名引用方式引用屬性
baseDir: /usr/local/fire
center:
dataDir: ${baseDir}/data
logDir: ${baseDir}/log
#屬性值中如果出現(xiàn)轉(zhuǎn)義字符,需要使用雙引號(hào)包裹
lesson: "Spring\tboot\nlesson"讀取yml配置
5.1 使用@Value讀取單個(gè)數(shù)據(jù),屬性名引用方式:${一級(jí)屬性名.二級(jí)屬性名...}
@Value("${books[1].name}")
private String bookName;5.2 使用Environment對(duì)象封裝全部配置信息
- 使用Environment對(duì)象封裝全部配置信息
- 使用@Autowired自動(dòng)裝配數(shù)據(jù)到Environment對(duì)象中
@Autowired
private Environment env;
System.out.println(env.getProperty("books[1].name"));5.3 自定義對(duì)象封裝指定數(shù)據(jù)
- yml文件
datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC username: root password: root
- 自定義對(duì)象
@Component //bean對(duì)象,由spring來管理
@ConfigurationProperties(prefix = "datasource") //獲取yml文件中datasource的屬性,需要get和set方法,此處省略
public class MyDataSource {
private String driverClassName;
private String url;
private String userName;
private String password;
}- 在使用的地方,使用@Autowired自動(dòng)裝配
@Autowired private MyDataSource myDataSource;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JDK生成WebService客戶端代碼以及調(diào)用方式
WebService 是一種跨編程語言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù),下面這篇文章主要給大家介紹了關(guān)于JDK生成WebService客戶端代碼以及調(diào)用方式的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
Java實(shí)現(xiàn)ftp文件上傳下載解決慢中文亂碼多個(gè)文件下載等問題
這篇文章主要介紹了Java實(shí)現(xiàn)ftp文件上傳下載解決慢中文亂碼多個(gè)文件下載等問題的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
HttpUtils 發(fā)送http請求工具類(實(shí)例講解)
下面小編就為大家?guī)硪黄狧ttpUtils 發(fā)送http請求工具類(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
解決IntelliJ?IDEA輸出中文顯示為問號(hào)問題的有效方法
最近剛學(xué)到文件字節(jié)流這里,但輸出中文時(shí),出現(xiàn)了控制臺(tái)輸出問號(hào)的情況,所以下面這篇文章主要給大家介紹了關(guān)于如何解決IntelliJ?IDEA輸出中文顯示為問號(hào)問題的有效方法,需要的朋友可以參考下2022-07-07
Apache?log4j2-RCE?漏洞復(fù)現(xiàn)及修復(fù)建議(CVE-2021-44228)
Apache?Log4j2是一款Java日志框架,大量應(yīng)用于業(yè)務(wù)系統(tǒng)開發(fā)。2021年11月24日,阿里云安全團(tuán)隊(duì)向Apache官方報(bào)告了Apache?Log4j2遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2021-44228),本文給大家介紹Apache?log4j2-RCE?漏洞復(fù)現(xiàn)(CVE-2021-44228)的相關(guān)知識(shí),感興趣的朋友一起看看吧2021-12-12
淺談Spring裝配Bean之組件掃描和自動(dòng)裝配
本篇文章主要介紹了淺談Spring裝配Bean之組件掃描和自動(dòng)裝配,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
使用ByteArrayOutputStream寫入字符串方式
這篇文章主要介紹了使用ByteArrayOutputStream寫入字符串方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12

