我们已经将SpringBoot创建好了,但是,我们针对其底层的配置还没有学习。
一、SpringBoot的配置 1 使用application.properties进行配置 1.1.properties的基本语法。properties 是以键值的形式配置的,key 和 value 之间是以“=”连接的==》
# 配置项目端口号 server.port=8084 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb? characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=root //PS:小技巧:配置文件中使用“#”来添加注释信息。1.2 读取配置文件
如果在项目中,想要主动的读取配置文件中的内容,可以使用 @Value 注解来实现
@Component 在 Spring Boot 启动时候会注入到框架中,注入到框架中时会执行
@PostConstruct 初始化方法,这个时候就能读取到配置信息了
package org.example.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.PostConstruct;
// 也会注册Bean对象
// 相比@Controller,多了一个作用,将方法返回值作为Http相应正文
@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {
@Value("${my.user.name}")
private String username;
@PostConstruct
public void init() {
//System.out.println(username);
log.debug("配置文件中的my.user.name" + username);
}
}
我们从图中也可以看出其实使用这种配置书写是非常冗余的。
2 使用application.yml进行配置2.1 .yml的基本语法。yml 最大的优势是可以跨语言,不止是 Java 中可以使用 golang、python 都可以使用 yaml 作为配置文件。
yml 是树形结构的配置文件,它的基础语法是“key: value”,注意 key 和 value 之间使用英文冒号加空格的方式组成的,其中的空格不可省略。
这样就看起来十分简洁明了。
2.2 yml 使用进阶2.2.1 yml 配置不同数据类型及 null
# 字符串 string.value: Hello # 布尔值,true或false boolean.value: true boolean.value1: false # 整数 int.value: 10 int.value1: 0b1010_0111_0100_1010_1110 # 二进制 # 浮点数 float.value: 3.14159 float.value1: 314159e-5 # 科学计数法 # Null,~代表null null.value: ~2.3 读取配置文件
同1.2。
3. properties VS yml 总结- properties 是以 key=value 的形式配置的键值类型的配置文件,而 yml 使用的是类似 json 格式的树形配置方式进行配置的,yml 层级之间使用换行缩进的方式配置,key 和 value 之间使用“: ”英文冒号加空格的方式设置,并且空格不可省略。
- properties 为早期并且默认的配置文件格式,但其配置存在一定的冗余数据,使用 yml 可以很好的解决数据冗余的问题。
- yml 通用性更好,支持更多语言,如 Java、Go、Python 等,如果是云服务器开发,可以使用一份配置文件作为 Java 和 Go 的共同配置文件。
- yml 虽然可以和 properties 共存,但一个项目中建议使用统一的配置类型文件
学习编程,那我们使用日志来获取信息就错不了。SpringBoot在启动后,默认就有日志输出。
1 java的日志框架包括:2 日志的使用: 2.1 配置日志级别log4j:apache提供的日志框架
log4j2:log4j的升级版
logback:springboot默认的内置框架
slf4j:日志的桥接框架
- trace:微量,少许的意思,级别最低;
- info:普通的打印信息;
- debug:需要调试时候的关键信息打印;
- warn:警告,不影响使用,但需要注意的问题;
- error:错误信息,级别较高的错误日志信息;
- fatal:致命的,因为代码异常导致程序退出执行的事件。
日志级别配置只需要在配置文件中设置“logging.level”配置项即可,如下所示
注意:使用情况在类上加注解 @Sef4j @PostConstruct public void init() { //System.out.println(username); log.debug("配置文件中的my.user.name" + username); }使用日志打印对象,只会打印日志级别以上的内容。
也可以使用字符串的方式打印
log.warn("配置文件中的my.user.name:{}",username);
在文件中打印
配置日志文件的保存路径:
# 设置日志文件的目录
logging:
file:
path: D:homexxx
配置日志文件的文件名:
# 设置日志文件的文件名
logging:
file:
name: D:homexxxxxx.xxx



