当前位置: 首页 > 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.dtcms.com/a/285148.html

相关文章:

  • 行业研究 | 2025金融可观测性实践与趋势洞察报告重磅发布!
  • 数据结构自学Day9: 二叉树的遍历
  • 克鲁斯焊接机器人保护气省气方案
  • JS - - - - - 数组乱序排序「进阶版」
  • c++:类型转换函数
  • mongodb-org-mongos : Depends: libssl1.1 (>= 1.1.1) but it is not installable
  • 基于LSTM的机场天气分析及模型预测
  • .NET Core EFCore零基础快速入门简单使用
  • 微信远程控制系统2.0
  • 二叉树的总结
  • mysql 字符集不一致导致索引失效问题
  • 为何“白名单媒体”是性价比之选?
  • 2025年视频超高清技术应用全景介绍
  • CSS Grid布局:构建现代网页的强大网格系统
  • Doris 物化视图:原理、使用及常见问题处理
  • Python类型转换,深浅拷贝
  • python的旧时光咖啡厅数据分析管理系统
  • 深入解析Linux进程创建与fork机制
  • Dify:在MacOS系统下Dify的本地部署与使用
  • Android Jetpack 系列(四)DataStore 全面解析与实践
  • RSTP:快速收敛的生成树技术
  • 深入解析SVM:从对偶问题求解到核函数理论
  • [3-03-01].第61节:开发应用 - Seata中的SAGA模式
  • 防止电脑息屏 html
  • Bell不等式赋能机器学习:微算法科技MLGO一种基于量子纠缠的监督量子分类器训练算法技术
  • Java 8 jdk1.8下载及安装教程和环境变量配置
  • 电子电路中的电压符号命名约定
  • 【前端如何利用 localStorage 存储 Token 及跨域问题解决方案】
  • Python网络爬虫之requests库
  • ISL8121IRZ-T 瑞萨电子Renesas高效双路同步降压控制器 【5G基站、AI服务器】专用