【Java】Spring Boot 配置文件

简介: 【Java】Spring Boot 配置文件

SpringBoot 配置文件

1. 配置文件的作用

整个项目当中,所有重要的数据都是在配置文件当中配置的,比如:

  • 数据库的连接信息(包含用户名和密码的配置)
  • 项目的启动端口
  • 第三方系统的调用秘钥
  • 用于发现和定位问题的普通日志和异常日志

想象一下如果没有配置信息,那么SpringBoot项目不能连接数据库和操作数据库,甚至不能保存可以用于排查问题的关键日志,所以配置文件是非常重要的

2. 配置文件的格式

SpringBoot配置文件主要有以下两种格式:

  • .properties
  • .yml

特殊说明:

  1. 理论上讲 properties 可以和 yml ⼀起存在于⼀个项⽬当中,当 properties 和 yml ⼀起存在⼀个项 ⽬中时,如果配置⽂件中出现了同样的配置,⽐如 properties 和 yml 中都配置了“server.port”, 那么这个时候会以 properties 中的配置为主,也就是 .properties 配置⽂件的优先级最⾼,但加载 完 .properties ⽂件之后,也会加载 .yml ⽂件的配置信息。
  2. 虽然理论上来讲 .properties 可以和 .yml 共存,但实际的业务当中,我们通常会采取⼀种统⼀的配 置⽂件格式,这样可以更好的维护(降低故障率)。这就好像连锁店的服饰⼀样,不管是⽼款的服 装还是新款的服装,⼀定要统⼀了才好看。

3. properties配置文件说明

3.1 properties基本语法

properties是以键值的形式配置的,key 和 value 之间是用=连接的

server.port=8080
spring.datasource.url=Jdbc:mysql://127.0.0.1:3306/zy?characterEncoding=utf8&&useSSL=false
spring.datasource.name=root
spring.datasource.password=123456

配置文件当中使用# 来添加注释信息

3.2 读取配置文件

如果在项目当中,主动读取配置文件当中的内容,可以使用@Value注解来实现

@Value注解使用“${}"的格式来读取

3.3 properties缺点分析

配置文件当中会有很多冗余的信息。

4. yml配置文件说明

yml优点

  • 可读性高, 写法简单,易于理解,它的语法和JSON类似
  • 支持更多的数据类型,它可以简单的表达清单、散列表、标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件
  • 支持更多的编程语言

4.1 yml基本语法

它的基础语法是key: value注意:key和value之间使用英文冒号加空格的方式组成,其中的空格不可以省略

spring:
  datasource:
    url: jdbc
    name: root
    password: 123456

4.2 yml使用进阶

4.2.1 yml配置不同的数据类型及null
string.value: Hello
boolean.value: true
int.value: 13
null.value: ~
4.2.1 yml配置的读取

yml配置读取方法和properties相同,使用@Value注解就可以

yml当中的字符串默认不用加上单引号或者双引号

  • 单引号会转义特殊字符,特殊字符最终只是一个普通的字符串数据
  • 双引号不会转义字符串里面的特殊字符:特殊字符会作为本身想要表示的意思
4.2.2 配置对象
student:
  id: 1
  name: java
  age: 18
student2: {id: 2, name: java, age: 18}

两种配置文件的方法。

想要读取要使用一个新的注解。

@Data
@ConfigurationProperties(prefix = "student")
@Component
public class Student {
    private int id;
    private String name;
    private int age;
}

@Data注解包含了类对象的各种方法,如get和set

4.2.3 配置集合
dptypes:
  name:
    - mysql
    - sqlservice
    - db2
dptypes2: {name: [mysql, sqlservice, db2]}

集合的读取和对象也是一样的

5. properties VS yml

  • properties是以key=value 的形式配置的键值类型的配置文件,而yml使用的是类似JSON格式的树形配置方式进行配置的,yml层级之间使用换行缩进凡是进行配置,key和value之间使用英文冒号加空格的方式设置,并且空格不可以省略
  • properties为早期并且默的配置文件的格式,但其配置存在一定的冗余数据,使用yml可以很好的解决冗余问题
  • yml通用性好,支持更多的语言
  • yml支持更多的数据类型

设置不同环境的配置文件:

  1. 创建不同环境的配置文件
  • application-dev.yml
  • application-prod.yml
  1. 在application.yml 中设置运行环境

spring.profiles.active=dev

相关文章
|
8天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
39 7
|
18天前
|
存储 NoSQL Java
使用Java和Spring Data构建数据访问层
本文介绍了如何使用 Java 和 Spring Data 构建数据访问层的完整过程。通过创建实体类、存储库接口、服务类和控制器类,实现了对数据库的基本操作。这种方法不仅简化了数据访问层的开发,还提高了代码的可维护性和可读性。通过合理使用 Spring Data 提供的功能,可以大幅提升开发效率。
60 21
|
26天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
57 6
|
30天前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
41 5
|
30天前
|
监控 Java API
【潜意识Java】使用SpringBoot构建高效的RESTfulAPI
本文介绍了使用Spring Boot构建RESTful API的完整流程,涵盖从项目创建到API测试的各个步骤。
48 1
|
30天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
55 2
|
1月前
|
Java 测试技术 应用服务中间件
Spring Boot 配置文件总结
Spring Boot 提供全局配置文件 `application.properties` 和 `application.yml`,用于修改自动配置的默认值。前者使用键值对配置,后者使用缩进和冒号。不同环境(开发、测试、生产)可切换配置文件,通过 `spring.profiles.active` 指定。例如,开发环境端口为4790,测试环境为4791,生产环境为4792。配置示例展示了属性、List、Map定义及引用方法。
64 14
|
1月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
93 33
|
1月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
78 13
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。