关于application.yml数据库配置方式
目录
- application.yml数据库配置
- 1.配置代码
- 2.useSSL
- 3.useUnicode=true&characterEncoding=UTF-8
- 4.serverTimezone
- application.yml基础配置以及读取
- 配置文件的格式
- 配置文件
- 配置文件的加载顺序
- yml文件内容
- 读取yml配置
- 总结
application.yml数据库配置
1.配置代码
server:
port: 8001
#spring的配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource #数据源为druid
driver-class-name: com.mysql.cj.jdbc.Driver #数据库驱动
url: jdbc:mysql://localhost:3306/spring_cloud?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root
<!--Mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>5.1.24</version>
<scope>runtime</scope>
</dependency>
<!--alibaba数据库数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
2.useSSL
- SSL即为: Secure Sockets Layer 安全套接字协议。
- useSSL=true: 就是一般通过证书或者令牌进行安全验证。
- useSSL=false: 就是通过账号密码进行连接。
注意:
- MySQL 5.7之后的版本必须要加上useSSL=false;
- 之前不用,默认是false。
3.useUnicode=true&characterEncoding=UTF-8
设置之后,不管数据库是什么编码,读取的时候都会转换成UTF-8,存取的时候还是会按数据库编码存。
4.serverTimezone
时区配置,MySQL8.0以上版本,url需要添加时区。
如:
#北京东八区 seandroidrverTimezone=GMT%2B8 #上海时区 serverTimezone=Asia/Shanghai
application.yml基础配置以及读取
配置文件的格式
1.SpringBoot提供了3种配置文件的格式
- properties(传统格式/默认格式)
- yml(主流格式)
- yaml
配置文件
1. SpringBoot中导入对应starter后,提供对应配置属性
2.书写SpringBoot配置采用关键字+提示形式书写
配置文件的加载顺序
properties优先级>yml优先级>yaml优先级
不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留。
yml文件内容
#简单配置
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
#属性值中如果出现转义字符,需要使用双引号包裹
lesson: "Spring\tboot\nlesson"
读取yml配置
5.1 使用@Value读取单个数据,属性名引用方式:${一级属性名.二级js属性名...}
@Value("${books[1].name}")编程
private Stri编程ng bookName;
5.2 使用Environment对象封装全部配置信息
- 使用Environment对象封装全部配置信息
- 使用@Autowired自动装配数据到Environment对象中
@Autowired
private Environment env;
System.out.println(env.getProperty("books[1].name"));
5.3 自定义对象封装指定数据
- 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;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
加载中,请稍侯......
精彩评论