spring boot 配置文件

配置文件作用

整个项目的重要的数据都是在配置文件中配置的,如:
(1)数据库的连接信息
(2)项目的启动端口
(3)第三⽅系统的调⽤秘钥等信息
(4)⽤于发现和定位问题的普通⽇志和异常⽇志等

配置文件的分类

(1)系统的配置文件,比如连接字符串、日志的相关设置,系统定义好的
(2)用户自定义的。

配置文件格式

(1).properties
(2).yml

规则:
(1)一个项目中可以存在两种配置文件(.properties和yml),但是不建议一个项目中出现两种配置文件。
(2)当一个项目的某个配置,出现在两种格式的配置文件时,配置项会以properties为主(忽略yml中的配置)

如果properties文件没有提示信息,那么就需要安装spring tools插件。

properties

properties配置文件基本语法

key=value
等号前后不能加空格,value后也不能加空格。
在这里插入图片描述

关于properties中文乱码的问题处理。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置完成之后,将原来的application.properties删除掉,重新在创建一个application.properties。因为之前的配置文件已经是不支持中文编码的文件格式化,设置编码在创建application.properties之后,所以,后设置的编码不会改变原来的旧的application.properties文件,所以,需要先将之前的配置文件删除掉重新创建。

读取单个的配置文件

使用value注解来实现。

@Controller
public class UserController {


    @Value("${server.port}") //读取配置项
    private Integer port;


    @ResponseBody //返回一个非静态页面的数据
    @RequestMapping("/sayhi")//设置路由地址
    public  String sayHi(){
        return "hello world | port:" + port;
    }
}

这里是引用

properties 缺点

properties 配置⽂件中会有很多的冗余的信息。
在这里插入图片描述
想要解决这个问题,就可以使⽤ yml 配置⽂件的格式化.

yml

特点

(1)写法简单、可读性高
(2)支持更多的数据类型
(3)跨语言使用:Java、golang

基本语法

key: value key 和value之间使用冒号加空格的方式组成,空格不可省略。

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8
    name: root
    password: 1111111

yml单双引号

mystring: 你好\n世界
mystring2: '你好\n世界'
mystring3: "你好\n世界"

这里是引用

结论:yml中如果使用了双引号,就会按照原语义执行,如果不加单、双引号,或者加了单引号,那么默认会将字符串中的特殊字符进行转义。

yml对象配置读取

#对象写法1
student:
  id: 1
  name: 小明
  age: 14

#对象写法2
student2: {id: 2,name: 李四,age: 10}

读取对象:

@Data
@ConfigurationProperties(prefix = "student") //读取对象
@Component //不能省略
public class Student {
    private int id;
    private String name;
    private int age;
}

yml中集合的读与写

# 集合
dbtypes: { name: [mysql,sqlserver,db2]}
@Component
@Data
@ConfigurationProperties("dbtypes") //读取配置文件中的集合
public class ReadList {
    private List<String> name;
}

这里是引用

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值