转:
https://blog.csdn.net/davis2015csdn/article/details/75220046
https://yq.aliyun.com/articles/84323
http://www.cnblogs.com/java-zhao/p/5469183.html
测试不同配置的加载
执行java -jar xxx.jar,可以观察到服务端口被设置为8001,也就是默认的开发环境(dev)
执行java -jar xxx.jar --spring.profiles.active=test,可以观察到服务端口被设置为8002,
也就是测试环境的配置(test)
执行java -jar xxx.jar --spring.profiles.active=prod,可以观察到服务端口被设置为8003,
也就是生产环境的配置(prod)
按照上面的实验,可以如下总结多环境的配置思路:
application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认配置
application-{profile}.properties中配置各个环境不同的内容
通过命令行方式去激活不同环境的配置
介绍
很多项目中都会有配置文件,比如说配置 数据库的连接项目常量定义等等参数配置,那么这些参数在项目启动的时候就会被读到指定的容器中,可供项目初始化将必要的对象都初始化完成,如果参数配置错误或参数没有定义,项目在启动的时候就会相应的报错,提示某某参数没有定义或者不对,今天我给大家介绍一下springboot如何读取这些初始化参数,让项目启动时候能够自动的加载,并且应用到我们的项目中。
一、spring boot 默认定义
默认参数文件名称为 application.properties 或者 application.yaml ,这两种格式选其中任意一种可以作为项目启动的配置文件,两种格式有所不同
properties 格式 my.web.name=eshengtai 类似键值对的方式
yaml 格式
my:
web:
name:eshengtai
当然也可以自定义配置文件,作为项目的其他配置参数文件,比如 redis.properties,dataSource.properties可以单独定义配置文件,让springboot在启动时帮我们加载,在程序中可以方便的使用
二、读取配置文件
1、读取application.properties配置文件中,自定义的参数
project.name=eshengtai
project.url=www.eshengtai.net
读取参数自定义内容
/** * 读取application properties文件内容 * @author wolf.yansl * */ @Component public class ApplicationProperties { @Value("${project.name}") private String name; @Value("${project.url}") private String url; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }
2、读取自定义properties文件,读取自定义参数,eshengtai.properties
spring.boot=boot
spring.url=spring.io
读取参数定义内容
/** * 读取自定义配置文件,eshengtai.properties * @author wolf.yansl * */ @Component @PropertySource("classpath:eshengtai.properties") public class EShengTaiProperties { @Value("${spring.boot}") private String springName; @Value("${spring.url}") private String url; public String getSpringName() { return springName; } public void setSpringName(String springName) { this.springName = springName; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }
3、动态切换配置文件properties文件,在不同的开发环境下,如何可以达到,只需要修改参数就可以动态读取不同的参数文件,从而方便快捷的使用properties的内容
配置文件有4个
application-dev.properties 开发环境 ,server.port=1111服务器端口1111
application-prod.properties 正式环境 ,server.port=2222服务器端口2222
application-test.properties 测试环境 ,server.port=3333服务器端口3333
application.properties 主要启动配置文件,配置切换启动读哪个文件初始化环境 spring.profiles.active 动态切换读取配置文件,修改服务器的访问端口变化,测试
spring.profiles.active=dev #springboot启动读取 application-dev.properties,并且访问端口为1111
spring.profiles.active=prod #springboot启动读取 application-prod.properties,并且访问端口为2222
spring.profiles.active=test #springboot启动读取 application-.propertiestt,并且访问端口为3333
相关推荐
SpringBoot读取properties文件配置项过程解析 在SpringBoot开发过程中,难免需要配置相关数据项,然后在Java代码中@Autowired注入并使用。那么,我们应该如何读取properties文件中的配置项呢?在本文中,我们将主要...
SPRINGBOOT 读取 PROPERTIES 配置文件数据过程详解 SPRINGBOOT 框架中,读取 PROPERTIES 配置文件数据是非常重要的一步骤。通过使用 `@ConfigurationProperties` 注解,可以轻松地读取配置文件中的数据,并将其...
总结一下,Spring Boot提供了多种方式来读取`.properties`和`.yml`配置文件中的数据,包括使用`@Value`注解直接注入字段、创建配置类以及使用`@ConfigurationProperties`进行更高级的数据绑定。这些机制让开发者能...
Spring Boot支持两种主要的配置文件格式:`application.properties`和`application.yml`。本教程将深入探讨如何在Spring Boot项目中读取和使用这两种配置文件。 ### `application.properties` 文件 1. **基本结构*...
在本讲中,我们将深入探讨如何在SpringBoot项目中使用`properties`配置文件进行数据读取。`properties`文件是Java开发中常见的配置文件格式,它允许开发者将应用程序的配置参数存储在一个独立的文本文件中,便于管理...
SpringBoot读取配置文件常用方法解析 SpringBoot 读取配置文件是指在 SpringBoot 项目中读取外部配置文件的方法,用于获取配置信息。下面将介绍 SpringBoot 读取配置文件的常用方法。 传统项目读取配置方式 在没有...
本篇文章将详细介绍Spring Boot如何读取配置文件,以及提供一些调试示例代码,帮助你更好地理解和运用。 ### 1. 配置文件位置与优先级 Spring Boot支持多种类型的配置文件,包括`application.properties`和`...
以下是对Spring Boot读取配置文件及自定义配置文件方法的详细解释。 1. **默认配置文件** Spring Boot默认使用`application.properties`或`application.yml`作为主配置文件。这两个文件位于`src/main/resources`...
Spring Boot支持两种主要的配置文件格式:`application.properties`和`application.yml`。这两种格式都允许开发者以结构化的方式存储和管理应用程序的配置参数。 首先,让我们关注`yml`配置文件。YAML (YAML Ain't ...
本文将详细介绍如何在Spring Boot环境下读取自定义的`.properties`配置文件。 首先,自定义配置文件的创建。在`src/main/resources`目录下创建一个名为`config`的子目录,然后在这个子目录中创建自定义的`....
6. **任意文件转任意实体**:实现这一功能可能需要一种灵活的策略,如使用反射机制动态地获取Bean的类信息,并结合文件解析器来填充Bean的属性。同时,需要考虑文件编码、数据格式识别等问题。 7. **配置Class类**...
### ResourceBundle与Properties读取Maven中Resources目录下的资源文件 #### 一、概述 在Java开发过程中,我们经常需要读取资源文件中的配置信息。在Maven项目中,`src/main/resources`目录下通常存放了各种配置...
在Spring Boot应用中,多模块配置文件的读取是一个重要的实践,它有助于提高代码的可维护性和模块化。本文将详细探讨如何在Spring Boot的多模块项目中管理和使用不同的配置文件,以实现低耦合的设计。 首先,了解...
在Spring中,加载和读取Properties文件可以使用`PropertyPlaceholderConfigurer`bean。该bean可以将多个Properties文件加载到容器中,并交给Spring管理。下面是一个简单的示例配置: ```xml <value>...
在Spring Boot项目中,`application.properties`文件默认使用UTF-8编码,但如果编辑器、IDE或操作系统使用的默认编码不是UTF-8,就可能导致读取时的乱码。例如,如果你的IDE(如IntelliJ IDEA)的默认编码设置不是...
Spring Boot 读取自定义配置文件节点的方法 Spring Boot 框架提供了多种方式来读取自定义配置文件节点,以下是其中的两种常见方法: 使用 @Value 标记读取 在 Spring Boot 中,我们可以使用 @Value 标记来直接...
Spring Boot读取配置文件中的参数步骤详解 在 Spring Boot 框架中,读取配置文件中的参数是非常重要的一步。下面,我们将详细介绍如何在 Spring Boot 项目中读取配置文件中的参数。 为什么需要读取配置文件中的...
在`application.properties`或`application.yml`文件中,添加以下配置: ```properties spring.mail.host=smtp.qq.com spring.mail.port=587 spring.mail.username=your_email@example.com spring.mail.password=...
YML文件以其清晰的树状结构著称,它在视觉上比传统的properties文件更易理解。值得注意的是,YML文件不支持使用tab进行缩进,而是使用空格。同时,YML允许使用"-小写字母"或"_小写字母"来代替"大写字母",例如`...