Spring Boot配置文件

一、Spring Boot配置文件格式

主要分为两种:

        .properties

        .yml

 配置文件只能叫做application.properties和application.yml

如果不叫application,运行就不能读取到这个配置文件。

默认情况下,是使用application.properties。

一般情况下,一个项目里面只使用一种格式的配置文件,如果使用了两种,会以.properties为主。

二、properties配置分类以及优缺点

写系统配置项

分为两种:

系统配置项:比如server.port

用户自定义配置项:比如myimage.path

# 系统配置项
# 设置端口号
server.port=8080

# 用户自定义配置项
myimage.path=helloworld

读配置项

系统配置项,一般系统会自动默认读,但是自定义还需要自己去实现读:

使用

@Value("${myimage.path}") 

 完整例子:

@Controller
@ResponseBody
public class TextController {

    @Value("${myimage.path}")  //
    private String myImage;

    @RequestMapping("/sayhi")
    public String sayHi(){
        return "你好,Spring Boot ->" + myImage;
    }
}

properties配置文件的优缺点

优点:

        配置文件结构清晰:key=value,适合初学者

缺点:

        写法重复很多,比较臃肿,比如配置数据库就需要写很多重复的代码

# MySQL配置项
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/myblog
spring.datasource.username=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

三、yml配置文件说明

yml就是YAML的缩写,全称就是Yet Another Markup Language,翻译过来就是“另一种标记语言”。

基本语法

# key: value
# value前面有空格
string: java

自定义写配置

# 自定对象,不要写中文也不要写拼音组合
myobj:
    id: 1
    name: 张三
    age: 18

自定义读配置 

@ConfigurationProperties("myobj")
@Component //必须要有5大类注解的其中一个
public class User {
    private int id;
    private String name;
    private int age;
@Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

@RequestMapping("/User")
public class UserController {
    @Autowired
    private User user;

    @PostConstruct
    public void doPostConstruct(){
        System.out.println(user.toString());
    }
}

优点:

        1.可读性高,写法简单易于理解,而且写法也很多

        2.支持更多的数据类型,比如数组、散列表等

        3.支持更多的编程语言,比如PHP,Golang,Python等。

配置mysql:内容简单,但是容错率比较低

#  配置mysql
Spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/myblog
    username: root
    password: 111111
    driver-class-name: com.mysql.cj.jdbc.Driver

缺点:

        对于初学者不太友好,语法容错率很低

你可能感兴趣的:(Spring,boot,spring,boot,java,前端)