【框架篇】Spring Boot 配置文件(详细教程)

这篇具有很好参考价值的文章主要介绍了【框架篇】Spring Boot 配置文件(详细教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【框架篇】Spring Boot 配置文件(详细教程),Java EE【进阶】,spring boot,spring,java,配置文件

Spring Boot 配置文件

【框架篇】Spring Boot 配置文件(详细教程),Java EE【进阶】,spring boot,spring,java,配置文件


一,配置文件的用途

配置文件在Spring Boot项目中的地位是比较重要,其功能可主要归纳为以下几个:

  1. 进行配置程序属性:配置文件允许设置应用程序的各种属性,如数据库连接、端口号、日志级别、缓存配置等。通过配置文件,可以集中管理和修改这些属性,而不需修改代码。
  2. 进行环境特定配置:配置文件可以根据不同的环境(如开发、测试、生产环境)指定不同的配置,以满足不同环境下的需求。通过切换不同的配置文件,应用程序可以适应不同的运行环境。
  3. 进行细粒度配置:配置文件可以提供细粒度的配置,允许逐个组件进行配置,例如数据库连接池、缓存配置、日志配置等。这样每个组件可以根据自己的需求进行个性化配置。
  4. 进行外部化配置:配置文件使配置信息外部化,不需要硬编码到应用程序代码中。这样使得应用程序更加灵活和可维护,可以在不重新编译应用程序的情况下更改配置。
  5. 进行密文配置:配置文件可以用于存储敏感信息,如密码或者API密钥。可以通过加密或其他安全机制来保护这些敏感信息,确保配置文件的安全性。

二,配置文件的格式

2.1,配置文件格式介绍

Spring Boot 项目配置文件的格式有两种,分别为:

1,Properties格式

用法:Properties格式使用键值对的方式进行配置,每个配置项使用key=value的格式。可以通过.properties文件扩展名来标识使用此格式的配置文件,例如application.properties。在文件中,可以配置多个属性,使用#作为注释符号。

优点:Properties格式使用简单的键值对,易于理解和书写。对于简单的配置需求,Properties格式足够满足要求。

缺点:Properties格式缺乏层级结构的表示能力,难以表达复杂配置。并且随着配置项的增多,Properties格式的可读性会变差。

示例:在配置文件中设置端口号和建立数据库连接。

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=secret

2,YAML格式

用法:YAML格式以层级结构的方式进行配置,使用缩进和冒号来表示层级关系。可以通过.yml.yaml文件扩展名来标识使用此格式的配置文件,例如application.yml。在文件中,可以使用缩进和冒号定义各级配置,注意冒号与值之间存在个空格。

优点:YAML格式支持层级结构,可以更好地表达复杂配置,如嵌套配置、列表、块等。并且该格式采用缩进的语法,易于阅读和维护。

缺点:YAML格式对缩进和冒号的使用有严格的要求,如果没有正确缩进或冒号使用错误可能导致配置解析问题,需要一定的学习成本。

示例:在配置文件中设置端口号和建立数据库连接。

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase
    username: root
    password: secret

总结:Properties格式适合简单配置和快速编写,而YAML格式则更适合复杂配置和可读性强的情况。选择哪种格式可以根据项目需求和个人偏好来决定。

系统配置项查看网址:Common Application Properties (spring.io)


2.2,文件格式特殊说明

配置文件格式的特殊说明

1,两种配置文件是可以同时存在的,但是在企业中通常会规定项目使用这其中的一种格式作为项目配置文件的格式。

2,如果一个配置项在两种配置文件中都进行了设置,以 .properties 为后缀的配置文件为主。

3,.properties 配置文件的优先级最高,但加载完.properties 配置文件之后,也会加载.yml 配置文件的配置信息。


三,配置文件的使用

3.1,读取配置文件的内容

在项目中,主动的读取配置文件中的内容,可以使用 @Value 注解来实现,@Value 注解使用"${}"的格式读取。

示例:读取application.properties配置文件中设置的端口号

1,application.properties配置文件中设置的端口号信息:

【框架篇】Spring Boot 配置文件(详细教程),Java EE【进阶】,spring boot,spring,java,配置文件

2,编写读取配置文件在的端口号代码,示例代码:

package com.example.springboot.component;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
public class ReadProperties {
    @Value("${server.port}")
    private String port;
    @PostConstruct
    public void doPostConstruct(){
        System.out.println("server.port = " + port);
    }
}

代码说明:@Component注解:在 Spring Boot启动时候将ReadProperties类注入到框架中,@PostConstruct注解:类注入到框架中时会执行doPostConstruct初始化方法,这个时候就能读取到配置信息了。

3,运行编写好的示例代码,查看到如下运行结果:

【框架篇】Spring Boot 配置文件(详细教程),Java EE【进阶】,spring boot,spring,java,配置文件

读取配置文件的多种方式:SpringBoot 有几种读取配置文件的方法?


3.2,配置项加不加引号区别

1,不使用引号(裸值)

用法:在配置文件中,通常不需要使用引号将值括起来。这种情况下,值会被解析为相应的数据类型,如字符串、整数、布尔值等。

使用环境:适用于不包含特殊字符的情况。

myapp.name=My Application
myapp.port=8080
myapp.enabled=true

2,单引号(‘’)

用法:单引号可以用来保留配置值中的空格或特殊字符。其中的值将按照原样进行解析,包括空格。

使用环境:适用于需要保留空格、特殊字符或原始格式的配置值,如文件路径、密码或命令行参数。

myapp.name='My Application'
myapp.description='This is my "awesome" application.'
myapp.author='Traceless'

3,双引号(“”)

用法:双引号可以用于提供字符串类型的配置值。其中的值将进行解析和处理,可以包含占位符或转义字符。

使用环境:适用于需要进行变量替换或使用转义字符的配置值。

myapp.name="My Application"
myapp.description="This is my \"awesome\" application."
myapp.author="Traceless"

总结:具体使用哪种引号取决于要实现的功能和期望的字符串处理方式。例如,如果需要对变量进行替换或特殊字符转义,双引号是更适合的选择。单引号则保持字符串的原样,适用于需要保留特殊字符字面值的情况。。


3.3,设置不同环境的配置文件

在实际开发中,一个项目存在多种不同环境的配置文件,例如开发环境配置文件,测试环境配置文件,生产环境配置文件 …

Spring Boot 项目在不同平台上的环境配置规则:

  1. 必须存在主配置文件,主配置文件名必须为application.propertion 或者 application.yml
  2. 每个平台都存在一个专属配置文件,配置文件名有要求,需遵循application-xxx.propertion(.yml)格式。

设置不同环境的配置文件示例:现有个项目,项目中存在开发环境,测试环境,生产环境的配置文件,而每个配置文件端口号不同,现在需要进行项目的测试操作,所以我们切换使用测试环境的配置文件。

1,项目主环境和各环境的配置文件配置如下:

【框架篇】Spring Boot 配置文件(详细教程),Java EE【进阶】,spring boot,spring,java,配置文件

2,项目启动检测环境配置是否切换至测试生产环境,查看端口号为8888,说明切换成功。

【框架篇】Spring Boot 配置文件(详细教程),Java EE【进阶】,spring boot,spring,java,配置文件


结语

这就是本期博客的全部内容啦!如果有什么其他的问题无法自己解决,可以在评论区留言哦!

最后,如果你觉得这篇文章写的还不错的话或者有所收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(点赞👍,评论✍,收藏📖),多多支持一下!各位的支持是我最大的动力,后期不断更新优质的内容来帮助大家,一起进步。那我们下期见!

【框架篇】Spring Boot 配置文件(详细教程),Java EE【进阶】,spring boot,spring,java,配置文件文章来源地址https://www.toymoban.com/news/detail-603272.html


到了这里,关于【框架篇】Spring Boot 配置文件(详细教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java、Java EE、Spring和Spring Boot核心注解

    文章迁移至个人博客 此页面包含常用 Java 、 Java EE 、 Spring 、 Spring Boot 、 JPA 常用注解的一站式说明。 @Component注解 @Component 注解表明被注解的类是一个“spring bean/组件”。@Component注解告诉Spring容器自动创建Spring bean。 @Autowired注解 @Autowired 注解用于自动注入 bean。@Autowired 注

    2024年02月15日
    浏览(40)
  • Spring Boot进阶(25):文件上传的单元测试怎么写?不会我教你 | 超级详细,建议收藏

            文件上传是现代Web应用程序中常见的功能,因此编写高效的文件上传单元测试是确保应用程序质量的关键步骤之一。但是,很多开发者可能会遇到单元测试速度慢或者不准确的问题,这使得测试变得更加繁琐和无聊。因此,本篇文章将为你提供一些实用技巧和最佳实

    2024年02月08日
    浏览(35)
  • 【JAVA EE】Spring Boot中maven环境的搭建和设置

    Sping Boot是Spring推出的框架,是Spring家族的一个子项目,其设计初衷是为了简化Spring配置,从而让用户可以轻松构建独立运行的程序,并极大提高工作效率。 本系列将学习Spring Boot的相关原理和简单开发。 在Spring Boot框架出现以前,java EE开发常用的框架是Spring,该框架开始于

    2024年02月06日
    浏览(41)
  • Java 框架面试题-Spring Boot自定义配置与自动配置共存

    Spring Boot 是一个快速开发框架,可以简化 Spring 应用程序的开发,其中自定义配置是其中一个非常重要的特性。 在 Spring Boot 中,自定义配置允许开发者以自己的方式来配置应用程序。自定义配置可以用于覆盖默认配置,也可以用于添加新的配置项。本文将详细介绍 java框架面

    2023年04月11日
    浏览(37)
  • Spring Boot中配置文件介绍及其使用教程

    目录 一、配置文件介绍 二、配置简单数据 三、配置对象数据 四、配置集合数据 五、读取配置文件数据 六、占位符的使用 SpringBoot项目中,大部分配置都有默认值,但如果想替换默认配置的话,就可以使用application.properties或者application.yml或者application.yaml进行配置。SpringBo

    2024年02月08日
    浏览(35)
  • Spring Boot入门(04):SpringBoot实现多环境配置文件切换 | 超级详细,建议收藏

            在开发和部署Spring Boot应用的过程中,经常需要在不同的环境中进行配置,比如开发环境、测试环境、生产环境等。为了方便管理和部署,我们需要实现多环境配置文件切换。本篇教程将带你轻松搞定不同环境部署问题,让你的应用在各个环境中稳定运行。无论你是

    2024年02月12日
    浏览(33)
  • Spring Boot入门(03): yaml、properties配置文件介绍及使用 | 超级详细,建议收藏

            在软件开发中,配置文件是一项非常重要的内容。它们通常用于存储应用程序的各种设置和配置选项,包括数据库连接信息、日志级别、Web服务器端口、安全认证密钥等等。在不同的环境(例如开发、测试、生产)中,这些配置文件可能会有所不同。因此,良好的

    2024年02月11日
    浏览(30)
  • (第六天)初识Spring框架-SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录

    ​ 昨天我们已经把Mybatis框架的基本知识全部学完,内容有Mybatis是一个半自动化的持久层ORM框架,深入学习编写动态SQL,Mybatis的关联映射,一对一、一对多、多对多、Mybatis的缓存机制,一二级缓存的开启和设置,缓存命中率、如何使用idea链接数据库自动生成pojo类等。我们学

    2024年02月10日
    浏览(52)
  • Java实战:Spring Boot application.yml配置文件详解

    本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数据源、数据库、缓存、邮件服务等。本文适

    2024年04月24日
    浏览(33)
  • java Spring Boot将不同配置拆分入不同文件管理

    关于java多环境开发 最后还有一个小点 我们一般会将不同的配置 放在不同的配置文件中 好处肯定就在于 想换的时候非常方便 那么 我们直接看代码 我们将项目中的 application.yml 更改代码如下 这里 意思是 我们选择了dev 环境 然后创建一个文件 叫 application-dev.yml 参考代码如下

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包