【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

相关文章
|
2天前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
58 33
|
4天前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
31 13
|
8天前
|
Java Spring
Java Spring Boot监听事件和处理事件
通过上述步骤,我们可以在Java Spring Boot应用中实现事件的发布和监听。事件驱动模型可以帮助我们实现组件间的松耦合,提升系统的可维护性和可扩展性。无论是处理业务逻辑还是系统事件,Spring Boot的事件机制都提供了强大的支持和灵活性。希望本文能为您的开发工作提供实用的指导和帮助。
50 15
|
20天前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
6天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
10天前
|
Java 开发者 Spring
Java Springboot监听事件和处理事件
通过这些内容的详细介绍和实例解析,希望能帮助您深入理解Spring Boot中的事件机制,并在实际开发中灵活应用,提高系统的可维护性和扩展性。
38 7
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
67 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
30天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
116 13
|
1月前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
前端开发 Java 数据库
Java面试题 - Spring
Java面试题 - Spring
150 0