05全局配置文件application.properties
Spring Boot 提供了大量的自动配置,极大地简化了spring 应用的开发过程,当用户创建了一个 Spring Boot 项目后,即使不进行任何配置,该项目也能顺利的运行起来。当然,用户也可以根据自身的需要使用配置文件修改 Spring Boot 的默认设置。
SpringBoot 默认使用以下 2 种全局的配置文件,其文件名是固定的。
- application.properties
- application.yml
application.properties与 application.yaml都可以作为Spring Boot的配置文件,只是书写格式不同而已,在 Spring Boot 启动时被自动读取。当然也可以同时使用,但同级目录下读取的顺序是先读取application.properties,读取application.yaml。该配置文件的存放路径如下图所示。
本节我们将详细介绍 application.properties的语法及使用
下面是一个简单的 application.properties属性配置文件。
server.port=8080
Properties 语法
properties的语法如下:
- 使用properties的key=value形式
- 使用层级递进关系。
- 从最高层到最低层逐个低级,中间使用点"."间隔
例如:
server.address=localhost/170.20.10.112 #可以写IP或域名 server.port=80 #表示监听的80端口,默认是8080 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #数据库驱动 spring.datasource.url=jdbc:mysql://localhost:3306/cqyddx?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=root
Properties常用写法
properties支持以下三种数据结构:
- 对象:键值对的集合
- 数组:一组按次序排列的值
- 字面量:单个的、不可拆分的值
类准备:
注意:使用需要添加依赖<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>User类:
public class User { private String username; private Integer age; private Book book; private Date birth; private String[] hobby; private List<String> booksName; private Map<String, Object> books; private Set<Double> salary; public User() { System.out.println("创建user bean"); } }
public class Book { private String bookName; private Double bookPrice; public Book(){ System.out.println("创建book bean"); } }测试类:
public class SpringbootApplication { public static void main(String[] args) { //1、返回IOC容器 ConfigurableApplicationContext run = SpringApplication.run(SpringbootApplication.class, args); User user =run.getBean("user",User.class); System.out.println(user.getUsername()); System.out.println(user); } }
properties字面量写法
字面量是指单个的,不可拆分的值,例如:数字、字符串、布尔值、以及日期:date、boolean、string、number、null等。
在 properties中,使用“key[=]value”的形式表示一对键值对(空格不能省略),如 user.username= "xiatian",user.age= 32。
user.username=xiatian is good
user.age=32
user.birth=2020/09/10 13:14:15
properties对象写法
在 properties中,对象可能包含多个属性,每一个属性都是一对键值对。properties 为对象提供了 以下写法:
使用递进表示对象与属性的层级关系。
user.name="xiatian"user.age=32
properties 数组、List、Map、Set 行内写法
#数组行内写法
user.hobby=篮球,足球,排球
#list集合行内写法
user.booksname=计算机基础,javaEE框架,springboot
#map的行内写法
user.books.chinese={key1=spring,key2=springmvc,key3=springboot,key4=springcloud,0=活着,1=孙子兵法,2=诗经,hz=活着,szbf=孙子兵法,sj=诗经}
#set的行内写法
user.salary=6000,7000,8000测试结果如下:
User(
username=xiatian is good,
age=32,
book=Book{bookName='springboot', bookPrice=102.0},
birth=Thu Sep 10 13:14:15 CST 2020,
hobby=[篮球, 足球, 排球],
booksName=[计算机基础, javaEE框架, springboot],
books={
chinese={
key1=spring,
key2=springmvc,
key3=springboot,
key4=springcloud,
0=活着,
1=孙子兵法,
2=诗经,
hz=活着,
szbf=孙子兵法,
sj=诗经}
},
salary=[6000.0, 7000.0, 8000.0]
);
properties 数组、List、Map、Set 非行内写法 及 复合结构写法
#数组写法 使用[x]表示数组中的元素,写法如下:
user.hobby[0]=篮球
user.hobby[1]=足球
user.hobby[2]=排球
#list集合写法 使用[x]表示集合中的元素,写法如下:
user.booksname[0]=计算机基础
user.booksname[1]=javaEE框架
user.booksname[2]=springboot
##map集合的key value 使用key表示map中的key,写法如下:
user.books.key1=spring
user.books.key2=springmvc
user.books.key3=springboot
user.books.key4=springcloud
#map集合的value是map形式 使用chinese[key]表示map中的key为map类型,写法如下:
user.books.chinese[0]=活着
user.books.chinese[1]=孙子兵法
user.books.chinese[2]=诗经
#map集合的value是map形式 使用chinese.xxx表示map中的key为map类型,写法如下:
user.books.chinese.hz=活着
user.books.chinese.szbf=孙子兵法
user.books.chinese.sj=诗经
#set集合以下标方式赋值 使用[x]表示集合中的元素,写法如下:
user.salary[0]=6000
user.salary[1]=7000
user.salary[2]=8000
#复合结构写法 使用递进表示对象与属性的层级关系
user.book.bookName=springboot
user.book.bookPrice=102
测试结果如下:User(
username=xiatian is good,
age=32,
book=Book{bookName='springboot', bookPrice=102.0},
birth=Thu Sep 10 13:14:15 CST 2020,
hobby=[篮球, 足球, 排球],
booksName=[计算机基础, javaEE框架, springboot],
books={
chinese={
key1=spring,
key2=springmvc,
key3=springboot,
key4=springcloud,
0=活着,
1=孙子兵法,
2=诗经,
hz=活着,
szbf=孙子兵法,
sj=诗经}
},
salary=[6000.0, 7000.0, 8000.0]
);
06全局配置文件application.yaml详解
https://blog.csdn.net/qq_41946216/article/details/124770687?spm=1001.2014.3001.5501
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgaaabb
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24