關(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: 就是一般通過證書或者令牌進行安全驗證。
- useSSL=false: 就是通過賬號密碼進行連接。
注意:
- 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)文章
Java 泛型通配符 <? extends> vs <? s
本文解析Java泛型通配符<? extends T>和<? super T>的核心區(qū)別與應(yīng)用場景,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-12-12
如何用ObjectMapper將復(fù)雜Map轉(zhuǎn)換為實體類
這篇文章主要介紹了如何用ObjectMapper將復(fù)雜Map轉(zhuǎn)換為實體類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
解決SpringBoot配置文件項目重啟出現(xiàn)亂碼的問題
最近在創(chuàng)建了SpringBoot項目后往配置文件中寫了相關(guān)的系統(tǒng)配置,并且在上面加了中文注釋,但是在重啟項目或開機重啟后遇到了注釋亂碼的情況,下面這篇文章主要給大家介紹一下如何解決SpringBoot配置文件項目重啟出現(xiàn)亂碼的問題,需要的朋友可以參考下2023-06-06
JavaWeb response和request對象原理及實例解析
這篇文章主要介紹了JavaWeb response和request對象原理及實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11

