Spring Boot 知识笔记(配置文件)
Spring boot 提供了两种常用的配置文件,properties和yml文件。
1、yml
yml是YAML(YAML Ain't Markup Language)语言的文件,以数据为中心,比json、xml等更适合做配置文件.
使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目
注意:key后面的冒号,后面一定要跟一个空格,树状结构
server:
port: 8090
session-timeout: 30
tomcat.max-threads: 0
tomcat.uri-encoding: UTF-8
2、properties
properties形式比较简单,key=value
server.port=8090
server.session-timeout=30
server.tomcat.max-threads=0
server.tomcat.uri-encoding=UTF-8
配置文件官方参考:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#common-application-properties
3、通过配置文件自动映射属性
1)application.properties文件中增加一个属性
#文件上传路径配置
web.file.path=D:/work/masterSpring/code/xdclass_springboot/src/main/resources/static/images/
2)controller上面增加配置
4、通过配置文件自动映射实体
1)配置文件application.properties文件中增加实体属性
#测试配置文件注入
test.domain=www.class.net
test.name=springboot
2)新建一个实体类ServerSetting,包括domain和name两个属性。
package net.xdclass.demo.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RestController; @RestController @Component @ConfigurationProperties //设置相关属性 @PropertySource(value="application.properties") //指定配置文件 public class ServerSetting { @Value("${test.name}") //注入值 private String name; @Value("${test.domain}") private String domain; public String getName() { return name; } public String getDomain() { return domain; } public void setName(String name) { this.name = name; } public void setDomain(String domain) { this.domain = domain; } }
3)在controller中注入这个类,返回类的实体
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探