Spring Boot学习笔记(四)


思维导图

全局配置文件

全局配置文件能够对一些默认配置值进行修改。

application.properties配置文件

使用Spring Initializr方式构建Spring Boot项目时,会自动生成一个空的application.properties文件,Spring Boot项目启动时会自动加载该文件。
在进行application.properties文件编写之前,先找到项目的核心配置类,启动项目,可以看到Tomcat默认端口为8080,虚拟路径默认没有。
端口号
可以在applica.properties对默认端口和路径进行一些修改。

#普通属性值的配置
#修改Tomcat端口号为8081
server.port=8081
#修改虚拟路径为chapter02
server.servlet.context-path=/chapter02

再次启动项目,可以发现默认端口和路径都被改变了。
改变后的端口号
applica.properties除了对普通属性值进行配置和修改,也可以对实体类进行配置。
新建一个实体类——person,并设置相关属性。

package com.itheima.chapter02.domain;

import java.util.List;
import java.util.Map;

public class person {
    private int id; //id
    private String name;    //姓名
    private List hobby; //爱好
    private String[] family;    //家庭成员
    private Map map;
    private Pet pet;    //宠物
}

其中Pet是个实体类型,需要创建一个Pet实体,代码如下:

package com.itheima.chapter02.domain;

public class Pet {
    private String type;    //宠物类型
    private String  name;   //宠物名字
}

使用快捷键Alt+Insert生成get/set方法和toString()方法。
接下来在application.properties对实体对象进行赋值。

#对象类型
person.id=1
person.name=zhangsan
person.hobby=read,swim,run
person.family=father,mother,sister
person.map.k1=v1
person.map.k2=v2
person.pet.type=dog
person.pet.name=Kiki

以上就是application.properties对普通属性值和实体类对象的配置

application.yaml配置文件

YAML文件格式是Spring Boot支持的一种JSON超集文件格式,相较于传统的Properties配置文件,YAML文件以数据为核心,是一种更为直观且容易被计算机识别的数据序列化格式。application.yaml配置文件的工作原理和application.properties是一样的。
在项目下的resource目录下创建一个application.yaml文件,application.yaml文件使用“key:(空格)value”格式配置属性,使用缩进控制层级关系。针对不同数据类型的属性值,YAML文件配置属性的写法:

#当value为普通数据类型的配置
server :
  port: 8082
  servlet:
    context-path: /hello

pom文件的spring-boot-starter-parent依赖中,可以看到yaml(等同yml)在properties前,所以先加载了yaml文件的属性值会被后加载的properties文件的属性值覆盖。
spring-boot-starter-parent依赖
注释原来的properties文件的相关属性,运行项目:
端口号8082
以下是YAML文件对其他数据类型的配置方式:

#当value为普通数据类型的配置
server :
  port: 8082
  servlet:
    context-path: /hello


#当value值为数组或者单列集合
hobby:
  - read
  - swim
  - run
#方式二
hobby: [read,swim,run]
#当value值为map的时候
map:
  k1: v1
  k2: v2
#方式二
map: {k1: v1,k2: v2}

#对实体类对象person进行属性配置
person:
  id: 2
  name: lisi
  hobby: [sing,dance,read]
  family: [father,mather,brother]
  map: {k1: v1,k2: v2}
  pet: [type: bird,name: Lili]
发布了5 篇原创文章 · 获赞 5 · 访问量 73

猜你喜欢

转载自blog.csdn.net/IT_cat_/article/details/105679384
今日推荐