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