当前位置: 首页 > news >正文

SpringBoot02-application配置文件

Spring Boot 的配置文件主要用于配置项目的运行参数和环境变量,常用的有 application.propertiesapplication.yml(或 application.yaml两种格式


一、配置文件的作用

配置文件可以用于配置:

类型举例
应用基本信息应用名、端口号、环境等
数据库数据库连接信息
日志日志级别、路径
缓存Redis、EhCache
消息队列Kafka、RabbitMQ
安全配置登录认证、权限
自定义参数可以被 @Value@ConfigurationProperties 读取

 

二、文件格式

Spring Boot 支持两种配置格式:

配置项的内容一致,只是格式不一样!

 

2-1. application.properties 示例

# 服务器端口
server.port=8081# 应用名
spring.application.name=myapp# 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=root
spring.datasource.password=123456# 日志级别
logging.level.com.example.demo=DEBUG

 

2. application.yml/application.yaml 示例(推荐使用,可读性更强)

server:port: 8081spring:application:name: myappdatasource:url: jdbc:mysql://localhost:3306/testdbusername: rootpassword: 123456logging:level:com.example.demo: DEBUG

 

三、配置文件的位置(优先级)

Spring Boot 会自动加载以下位置的配置文件,优先级从高到低

  1. 命令行参数(例如 --server.port=8088

  2. application.propertiesapplication.yml (放在 src/main/resources 目录下)

  3. 外部配置(例如通过 -Dspring.config.location=xxx 指定)


 

四、多环境配置(Profile)

你可以为不同环境配置不同的文件,例如:

  • application-dev.yml

  • application-test.yml

  • application-prod.yml

主配置文件中指定当前环境:

spring:profiles:active: dev

Spring Boot 会自动加载 application-dev.yml 的配置。


 

五、读取配置的方式

1. 使用 @Value

@Value("${server.port}")
private int port;

 

2. 使用 @ConfigurationProperties(适合绑定一组配置)

my:app:name: helloversion: 1.0
@Component
@ConfigurationProperties(prefix = "my.app")
public class AppConfig {private String name;private String version;// getters and setters
}

 

六、自定义配置和获取

你也可以在配置文件中添加自定义属性,例如:

custom:greeting: Hello, Spring Boot!

【注意】:

1、值前面要有空格! 

2、相同层级,左对齐。

 

6-1、数组或列表(List)的配置

1、YAML 格式中的数组设置

(1)、常用方式:使用 - 符号列出元素

 

(2)、另一种方式:用逗号分隔字符串(效果同上)

2、Properties 格式中的数组设置

用逗号分隔值(最常见方式)

my.servers=192.168.0.1,192.168.0.2,192.168.0.3

6-2、配置信息的获取

1、通过 @Value("${键名}")获取:

【缺点】:

若是成员变量很多,每个都要加@Value会很麻烦。

2、@ConfigurationProperties(prefix = "前缀") 读取

【注意】:

        application.yml / application.properties文件中的信息被修改了,并不需要重新打包、部署项目代码!


 

七、总结

功能推荐方式
单个配置读取@Value
一组配置读取@ConfigurationProperties
多环境切换使用 spring.profiles.active
可读性建议使用 application.yml

八、springboot整合mybatis

8-1、回顾spring整合mybatis

8-2、springboot整合mybatis

1、添加mybatis的起步依赖 + 数据库驱动依赖:

添加了mybatis的起步依赖之后,mybatis以及相关的bean会被自动添加进项目中。

项目中用到了这个父类:

 

这就意味着:你自动继承了 Spring Boot 官方提供的一个 版本管理中心,里面已经定义好了大量常用依赖的版本。(具体定义了哪些依赖,可以通过git上的查询到!)

Spring Boot 使用的是 Maven 的 dependencyManagement 机制,这机制允许你:

不用显式写 <version>,只写 <groupId><artifactId>,Maven 会自动使用父类定义的版本。

mysql-connector-j 可以不写版本,因为 Spring Boot 官方已经在 spring-boot-dependencies管理了这个依赖的版本,你可以省略 version,Maven 会自动用 Spring Boot 推荐的版本(比如 8.0.33)。

mybatis-spring-boot-starter 必须手动写版本?

这就不一定了

  • 如果你用的是 Spring Boot 2.x,通常不会自动管理 mybatis-spring-boot-starter

  • 但 Spring Boot 3.x(如你写的 3.1.2)是有管理的

2、在配置文件 application.yml中编写数据库相关信息。

8-3、编写业务代码

1、编写pojo类:

2、编写mapper接口

3、编写service接口是实现类

4、编写controller类

http://www.lryc.cn/news/591756.html

相关文章:

  • (转)Kubernetes基础介绍
  • 累和,累积,斐波拉契
  • X00218-基于机器学习的磁流变液迟滞性能分析python实现
  • SpringBoot01-springBoot的特点
  • 如何用 Python + LLM 构建一个智能栗子表格提取工具?
  • VSCode 配置 C# 开发环境完整教程(附效果截图)
  • 深入解析Hadoop:机架感知算法与数据放置策略
  • 在 Windows Server RDS 上配置用户配置文件磁盘查找对应的用户名
  • LeetCode|Day17|242. 有效的字母异位词|Python刷题笔记
  • 每日钉钉API探索:createDing一键发起DING消息
  • 嵌入式基础 -- ADC(模数转换器,Analog to Digital Converter)
  • Spring Boot 中 META-INF 的作用与功能详解
  • AI编程实战:如何让AI生成带参数和返回值的Python函数——以PDF文本提取为例
  • 锂电池制造行业MES特色解决方案:差异化生产管控与智能工厂实践
  • c++ 模板元编程
  • CAD model dataset 下载
  • centos7开启ntp并同步时间到指定时区
  • 航班管家sid参数加密纯算分析
  • 使用 Nacos + Higress 连接 Agent 和 MCP 服务进行使用
  • 相位中心偏置天线的SAR动目标检测
  • C++进阶-AVL树(平衡二叉查找树)(难度较高)
  • 由几道数量关系考题引起的思考
  • 【CodeTop】每日练习 2025.7.17
  • Python类型转换,深浅拷贝
  • 【深度学习】神经网络过拟合与欠拟合-part5
  • DiffPy-CMI详细安装教程
  • ubuntu 22.04 pam 模块设置用户登录失败锁定
  • 网络基础11 上公网--Internet接入技术
  • python的旧时光咖啡厅数据分析管理系统
  • 深入理解CSS定位:绝对定位的包含块机制