1.配置文件的作用和意义
配置文件中配置整个项目中所有重要的数据,比如:
1.数据库的连接信息(包含用户名和密码的设置);
2.项目的启动端口;
3.第三方系统的调用秘钥等信息;
4.用于发现和定位问题的普通日志和异常日志等。
2.Spring Boot配置文件格式
两种方式:
1.properties
2.yml(yml)
特殊说明:
1.两个配置文件从功能上来讲是可以同时存在的,但是企业中通常会规定使用某一种格式的配置文件。
2.如果同一个配置出现在两种格式的配置文件中的话,那么以properties为主。
2.1 properties 配合文件的格式
配置项分类:
1.系统配置项,比如server.port/spring.datasource.url... ->
2.用户自定义配置(非系统配置项) -》key用户自定义
key = vlaue
设置为9090端口号:
读取任意配置文件的内容:
package com.example.demo.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@ResponseBody //加在类上,表示当前类中所有方法返回的都是非静态页面的数据
//@RequestMapping("/test") //=@WebServlet(")
public class TestController {
@Value("${server.port}") //注意:一定要是${key}格式
private String myconfig;
@RequestMapping("/sayhi")
//=@WebServlet(")
public String sayHi(){
return "hello world ->"+myconfig;
}
读取配置文件:
proporties 优缺点分析
properties 优点:
1.系统默认的配置文件
2.properties 配置项的优先级比yml高
3.格式简单,不容易出错
缺点:写法比较冗余;
2.2 yml配置格式
yml 优点分析:
yml 是⼀个可读性⾼,写法简单、易于理解,它的语法和 JSON 语⾔类似。
yml ⽀持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使⽤空⽩ 符号缩进和⼤量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。
yml ⽀持更多的编程语⾔,它不⽌是 Java 中可以使⽤在 Golang、PHP、Python、RubyJavaScript、Perl 中。
yml 是树形结构的配置⽂件,它的基础语法是“key: value”,注意 key 和 value 之间使⽤英⽂冒汗加空 格的⽅式组成的,其中的空格不可省略。
格式: String: java
冒号后面有一个空格
yml连接数据库:
spring:
datasource:
url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
username: root
password: root
2.3 properties 和yml的区别
1.properties 是以 key=value 的形式配置的键值类型的配置⽂件,⽽ yml 使⽤的是类似 json 格式的树形配置⽅式进⾏配置的,yml 层级之间使⽤换⾏缩进的⽅式配置,key 和 value 之间使⽤“: ”英⽂冒号加空格的⽅式设置,并且空格不可省略。
2.properties 为早期并且默认的配置⽂件格式,但其配置存在⼀定的冗余数据,使⽤ yml 可以很好的解决数据冗余的问题。
3.yml 通⽤性更好,⽀持更多语⾔,如 Java、Go、Python 等,如果是云服务器开发,可以使⽤⼀份配置⽂件作为 Java 和 Go 的共同配置⽂件。
4.yml支持更多的数据类型。