SpringBoot实现配置文件的替换

目录
  • SpringBoot配置文件的替换
    • 使用spring.profiles.active
      • application.properties
      • application.yml
  • SpringBoot读取配置文件汇总
    • 1、使用注解@ConfigurationProperties映射
    • 2、使用注解Value("${key}")映射
    • 3、使用注解@PropertySource("classpath:xxx.properties")
    • 4、使用 Environment
    • 5、使用@ImportResource注解

SpringBoot配置文件的替换

使用spring.profiles.active

在工作中,测试或上线的时候一定会遇到的问题就是修改配置。一般来说都有如下几种配置可用:dev(开发环境),test(测试环境),pro(生产|线上环境)。这时候,我们就需要去注释掉配置文件中的所有配置,再解开需要的配置。这时候,就可以通过spring.profiles.active的配置来解决这个问题。

application.properties

根据不同的环境创建不同的properties文件,如application-dev.properties,application-test.properties,application-pro.properties。

创建application.properties,内容如下:

spring.profiles.active=dev # test测试、pro生产

然后通过修改application.properties来更改不同的配置。

application.yml

同上,根据不同的环境创建不同的yml配置文件,以后缀区分(如:application-dev.yml)。

创建application.yml,内容如下:

spring:
    profiles:
        active: test # dev开发、pro生产

同上,修改配置文件只需要更改application.yml文件即可。

SpringBoot读取配置文件汇总

1、使用注解@ConfigurationProperties映射

通过注解@ConfigurationProperties(prefix=“配置文件中的key的前缀”)可以将配置文件中的配置自动与实体进行映射application.properties配置。

2、使用注解Value("${key}")映射

可以通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上。

3、使用注解@PropertySource("classpath:xxx.properties")

加载自定义属性文件的注解

专门用来加载指定位置的properties文件,需与@ConfigurationProperties(prefix ="" )配合使用,Spring暂未提供加载指定位置yml文件的注解。

4、使用 Environment

这个环境配置类,不光能读取配置文件,还能读取系统变量,比如jdk版本,当前操作系统类型,用户目录等等。

5、使用@ImportResource注解

使用将外部的配置文件加载到程序中来,比如我们定义一个beans.xml文件,里面配置了一个bean,默认情况下这个bean是不会加载到Spring容器中来的。我们需要@ImportResource(locations = {"classpath:beans.xml"})注解将这个配置文件加载进来。SpringBoot推荐使用配置类的方式给容器中添加组件。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Springboot引用外部配置文件的方法步骤

    现在的项目越来越多的都是打包成jar运行尤其是springboot项目,这时候配置文件如果一直放在项目中,每次进行简单的修改时总会有些不方便,这里我们看下打包成jar之后,从外部配置文件中读取配置信息. 首先想到的是通过java代码读取外边某个路径下的文件,但是开始做之后发现好多问题.后来又找其它解决方案,正好搜到一种简单的解决方式: java -jar demo.jar --Dspring.config.location=myapplication.properties 这样就可以通过@val

  • SpringBoot注入配置文件的3种方法详解

    这篇文章主要介绍了SpringBoot注入配置文件的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方案1:@ConfigurationProperties+@Component 定义spring的一个实体bean装载配置文件信息,其它要使用配置信息是注入该实体bean /** * 将配置文件中配置的每一个属性的值,映射到这个组件中 * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配

  • Springboot打包部署修改配置文件的方法

    一般情况下SpringBoot以Jar包的形式进行打包 打包 - jar包方式 1.pom文件引入插件 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </bu

  • 在SpringBoot下读取自定义properties配置文件的方法

    SpringBoot工程默认读取application.properties配置文件.如果需要自定义properties文件,如何读取呢? 一.在resource中新建.properties文件 在resource目录下新建一个config文件夹,然后新建一个.properties文件放在该文件夹下.如图remote.properties所示 二.编写配置文件 remote.uploadFilesUrl=/resource/files/ remote.uploadPicUrl=/resource

  • SpringBoot实现配置文件的替换

    目录 SpringBoot配置文件的替换 使用spring.profiles.active application.properties application.yml SpringBoot读取配置文件汇总 1.使用注解@ConfigurationProperties映射 2.使用注解Value("${key}")映射 3.使用注解@PropertySource("classpath:xxx.properties") 4.使用 Environment 5.使用@Im

  • 深入理解springboot中配置文件application.properties

    目录 前言 正文 自定义属性 参数间引用 使用自定义配置文件 随机值配置 外部配置-命令行参数配置 配置文件的优先级 Profile-多环境配置 总结 前言 Spring Boot使用"习惯优于配置"(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来.所以,我们要想把Spring Boot玩的溜,就要懂得如何开启各个功能模块的默认配置,这就需要了解Spring Boot的配置文件application.properties. 正文

  • 关于Springboot数据库配置文件明文密码加密解密的问题

    有时候因为安全问题,需要把配置文件的中数据库用户名密码由明文改成密文,大多数其实是为了应付甲方而已. 1.pom.xml引入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version> </dependenc

  • Springboot读取配置文件及自定义配置文件的方法

    1.创建maven工程,在pom文件中添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency

  • SpringBoot yml配置文件调用过程解析

    这篇文章主要介绍了SpringBoot yml配置文件调用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.yml配置文件书写格式 格式是在普通配置文件中以"."分割的属性名称,该为": "和换行. 例子: //普通格式 spring.datasource.driver-class-name=com.mysql.jdbc.Driver //yml格式 spring: datasource: driver-

  • SpringBoot获取配置文件的简单实现方法

    前言 在讲SpringBoot 获取配置文件之前我们需要对SpringBoot 的项目有一个整体的了解,如何创建SpringBoot 项目,项目结构等等知识点,我在这里就不一一讲述了,没有学过的小伙伴可以自己在网上找一些资料进行学习,很简单的. 下面让我们开始今天的内容讲解吧. 一.SpringBoot 全局配置文件的加载顺序 在SpringBoot 当中,全局配置文件有两种不同的格式,一个是我们常见的properties, 一种是yml. 这两种格式的文件其实也没什么太大的区别,使用的时候按照

  • SpringBoot读取配置文件常用方法解析

    首先回忆一下在没有使用SpringBoot之前也就是传统的spring项目中是如何读取配置文件,通过I/O流读取指定路径的配置文件,然后再去获取指定的配置信息. 传统项目读取配置方式# 读取xml配置文件 public String readFromXml(String xmlPath, String property) { SAXReader reader = new SAXReader(); Document doc = null; try { doc = reader.read(new F

  • 详解SpringBoot读取配置文件的N种方法

    我们在项目开发中经常会用到配置信息,例如数据库连接的帐号.密码等,而为了方便维护,我们通常将这些信息放到配置文件中.在需要用到这些配置信息时,可以通过代码获取.下面我们看看Spring中有哪些获取配置信息的方法. PropertiesLoaderUtils读取 通过ClassPathResource加载配置文件资源,结合PropertiesLoaderUtils类读取,源码如下: ClassPathResource resource = new ClassPathResource("applic

  • 详解SpringBoot通用配置文件(不定时更新)

      以下是SpringBoot项目中的常用配置类.jar包坐标等通用配置 pom文件 <!-- --> <!-- 自定义配置文件提示 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true<

随机推荐