免费网站优化,wordpress主题lovephoto2.0.1,做解析视频网站怎么赚钱,win10 中国建设银行网站目录
配置文件的格式
1. 配置项的分类和中文支持
2. properties 配置文件
读取配置文件
优缺点分析
3. yml 配置文件
读取配置文件
优缺点分析#xff1a; 4. 多个配置文件 5. properties 和 yml 的对比 在 springBoot 中很多重要的数据是需要通过配置文件进行配置…目录
配置文件的格式
1. 配置项的分类和中文支持
2. properties 配置文件
读取配置文件
优缺点分析
3. yml 配置文件
读取配置文件
优缺点分析 4. 多个配置文件 5. properties 和 yml 的对比 在 springBoot 中很多重要的数据是需要通过配置文件进行配置的。 例如项目启动的端口号数据库的连接信息等。 配置文件的格式
在 springBoot 中配置文件有两种格式一种为 properties一种为 yml (yaml) 首先 properties 和 yml 配置文件是可以同时存在于项目中的。但如果在此项目中这两个配置文件的某一个配置项是相同的时候会以 properties 为主也就是 properties 文件的优先级更高但也会执行 yml 文件中的配置项(通常情况下也只会使用一个配置文件) 1. 配置项的分类和中文支持 在配置文件中配置项一般有两种 1. 系统配置项项目端口号... 2. 用户自定义配置项通过用户自己定于 一般默认配置文件不支持中文的需自行设置在settings文件中对项目(一般需要针对此项目和新项目的两个settings都修改) 的encoding 都改为 UTF-8 2. properties 配置文件 1. properties 配置文件是 sprinBoot 项目的默认配置文件以 keyvalue 的格式进行配置 # 配置项目的端口号
server.port8080
# 数据库的配置项
spring.datasource.urlxxx
spring.datasource.usernamexxx
spring.datasource.passwordxxxclasshello
读取配置文件 读取配置文件采取如下格式 Value(${class}) // ${}public String classR; 表示读取配置文件中 key 为 class 的值
优缺点分析 1. 它是系统默认的配置文件 2. properties 配置项的优先级比 yml 高 3. 写法简单不容易出错 4. 但是写法有些冗余例如上述数据库的配置中spring.datasource重复写了三次于是就引出了 yml 3. yml 配置文件 yml的基本语法是key: value ,需要注意的是 key 和 value 之间通过 :空格 来间隔空格不可省略 且取代 spring 和 url 之间 . 的是换行缩进 ~ 表示 null spring:datasource:url: xxxusername: xxxpassword: xxx
读取配置文件
读取方式跟 properties 的方式是一样的
在 yml 配置文件还可以配置对象(注意要重写 setter 方法因为要从配置文件中去获取对应的数值使用 setter 方法赋值给当前的 Bean 对象)使用注解 ConfigurationProperties(类名)从配置文件中获取 ConfigurationProperties(student) // 从yml配置文件中获取类
Component
Setter // lombok
ToString // lombok
public class StudentComponent {public int id; // 属性名要和配置文件中的配置项相对应public String name;public int age;
}Controller // springBoot 不再需要像 spring 一样要在配置文件中说明了哪个路径下需要存入Bean,可以理解为扫描路径约定为启动类的路径下
ResponseBody // 加在类上表示当前类中的所有方法返回的都是非静态页面的数据 - 返回的是数据而不是页面
public class TestController {Value(${mystr1})public String mystr1;Value(${mystr2})public String mystr2;Value(${mystr3})public String mystr3;Value(${student.name}) // 从配置文件中读取对应类的属性public String name;Autowired // 从容器中读取对象private StudentComponent studentComponent;PostConstruct // 初始化方法public void doPostConstruct(){System.out.println(-----------------------);System.out.println(mystr1);System.out.println(mystr2);System.out.println(mystr3);System.out.println(-----------------------);System.out.println(name);System.out.println(studentComponent);}}也可以配置集合使用到的注解和配置对象一样
dbtypes: {name: [str1,str2,str3]}
Component
ConfigurationProperties(dbtypes) // 从配置文件中获取对应集合
Data // lombok
public class ListComponent {private ListString name;
}Controller
ResponseBody
public class TestController {Autowiredprivate ListComponent listComponent;PostConstruct // 初始化方法public void doPostConstruct(){System.out.println(listComponent.getName());}}优缺点分析 1. yml 格式就没有那么冗余了可读性也更高 2. yml支持更多种编程语言 3. yml 支持的类型更多还可以读取对象 4. 但是格式需要多注意以免出错 4. 多个配置文件 在正常的开发环境中会分为开发测试生产等多个环境此时多个环境下项目的一些 配置是不一样的比如是端口号可能是不一致的那么此时就需要到多个配置文件不同的环境下对应一个配置文件还需要一个总配置文件写不同环境下相同的配置。那么此时就可以通过 总的配置文件来指定要执行哪个环境下的配置问价不管执行哪个环境下的配置文件总配置文件都会执行。 配置文件规则 1. 必须有主配置文件主配置文件名必须为 application.yml(properties) 2. 不同平台的配置文件每个平台拥有一个配置文件 配置文件名要求为 application-xxx.后缀 对于要执行哪个配置文件通过在主配置文件中执行 ( action中的数值是 xxx )
spring:profiles:active: test 此时执行的就是 application-test 配置文件和主配置文件。 5. properties 和 yml 的对比 1. 格式上properties 是以 keyvalue 的形式配置的键值类型而 yml 使⽤的是类似 json 格式的树形配置⽅式进⾏配置的yml 层级之间使⽤换行缩进的方式配置key 和 value 之间使用 空格的方式 2. properties 为早期并且默认的配置⽂件格式但其配置存在⼀定的冗余数据使⽤ yml 可以很好的解决数据冗余的问题 3. yml 通⽤性更好⽀持更多语⾔如 Java、Go、Python 等也支持更多的数据类型 更多的系统配置项https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html