SpringBoot读取yml中的配置,并分离配置文件
前言
在项目中经常遇到需要读取配置文件中的配置信息,这些配置信息之所以不写在代码中是因为实际项目发布或者部署之后会进行更改,而如果写在代码中编译之后没有办法进行修改。
之前使用的是properties进行的配置和读取的。
而在SpringBoot中我们采用yml的配置时也需要读取配置文件中的信息。
同时因为这样会导致配置文件增多,所以我们需要分离配置文件。
github:https://github.com/LinkinStars/springBootTemplate
分离配置文件
在application.yml使用include加载不同的配置文件,如下是加载application-config.yml配置文件
spring:
# 选择加载不同环境的配置文件
profiles:
active: dev
include: config
在application-config.yml配置文件中加入测试参数
demo:
id: 1
val: 123
读取配置文件
使用@Component和@ConfigurationProperties注解实现,如下
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; /**
* 读取配置文件中的信息
* @author LinkinStar
*/
@Component
@ConfigurationProperties(prefix = "demo")
public class DemoConfig {
private int id;
private String val; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getVal() {
return val;
} public void setVal(String val) {
this.val = val;
}
}
如何使用
/**
* Demo读取配置测试
* @author LinkinStar
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoConfigTest { @Autowired
private DemoConfig demoConfig; @Test
public void getDemoConfig(){
System.out.println(demoConfig.getId());
System.out.println(demoConfig.getVal());
}
}
总结
1、这些配置主要用于存放那些容易被修改的配置。
2、@ConfigurationProperties和@Value的区别是:前一个作用于对象也就是批量的注入配置信息,而后者是单个指定。
3、分离配置文件同时可以用于分离别的配置信息。
SpringBoot读取yml中的配置,并分离配置文件的更多相关文章
- springboot的yml中的bruid没有提示
解决方案: springboot的yml中的bruid没有提示只要在maven加上:druid-spring-boot-starter(注意版本的统一,否则可能会冲突) 效果图:
- springboot 读取 yml 配置的几种方式
前言:在springboot 项目中一般默认的配置文件是application.properties,但是实际项目中我们一般会使用application.yml 文件,下面就介绍一下在springbo ...
- SpringBoot读取.yml配置文件最常见的两种方式-源码及其在nacos的应用
一.前言 我们在开发中会经常遇到一些可能会变的值,比如数据库的密码,一些关键链接的配置等等. 都需要我们写在配置文件中,这样可以把这些配置文件放到nacos上进行管理,修改nacos的配置,咱们发布的 ...
- springboot项目yml中使用中文注释报错的解决方法1
启动springboot项目时报错:/application.yml.....这大致就是说application.yml有问题,那么目前我所知道的大致两种情况会报错,第一种是yml格式有问题,要注意缩 ...
- springboot获取application.yml中的配置信息
HelloController.java package com.springbootweb.demo.controller; import com.springbootweb.demo.entity ...
- springboot在yml中配置控制台sql打印方法小结
方法一: logging: level: debug level.io.renren: debug path: logs/ file: admin.log 方法二 logging: leve ...
- 从 exe.config 读取appSettings 中的配置数据
右键解决方案,添加引用--> System.Configuration.dll 在exe.config 中添加数据 <appSettings> <add key=" ...
- SpringBoot读取properties中的属性值
1.在application.properties中添加以下内容: learn.blog.name=hello learn.blog.title=千回教育系统 2.新增属性关联的类: package ...
- SpringBoot中如何优雅的读取yml配置文件?
YAML是一种简洁的非标记语言,以数据为中心,使用空白.缩进.分行组织数据,从而使得表示更加简洁易读.本文介绍下YAML的语法和SpringBoot读取该类型配置文件的过程. 本文目录 一.YAML基 ...
随机推荐
- corel
corel CorelDRAW X6 Corel CorelCAD 2017 32位/64位破解版
- bindservice与Activity通信
package com.example.jikangwang.myapplication; import android.content.ComponentName; import android.c ...
- MySQL基于左右值编码的树形数据库表结构设计
MySQL基于左右值编码的树形数据库表结构设计 在关系型数据库中设计树形的数据结构一直是一个十分考验开发者能力的,最常用的方案有主从表方案和继承关系(parent_id)方案.主从表方案的最大缺点 ...
- 基于VirtualBox虚拟机安装Ubuntu教程
基于VirtualBox虚拟机安装Ubuntu图文教程 一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 6.0.4 for Windows hosts ...
- 分布式版本控制系统Git的安装与使用
分布式版本控制系统Git的安装与使用 作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 我的远端仓库地址是:htt ...
- leetcode-只出现一次的数字合并两个有序数组
题目:合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素 ...
- Selenium 实现 Web 自动化的原理 (软件测试52讲学习笔记)
Selenium 1.0 的工作原理 Selenium 1.0,又称Selenium RC ,RC是Remote Control的缩写.Selenium RC利用的原理:JavaScript代码可以方 ...
- 【腾讯海纳】系统未发布时如何获取获取property_id在本地进行测试?
有现成https协议域名使用者,可忽略此文. 直接先上图,明白的人看一眼图片就知道怎么拿了,如下所示: 解释说明: 在完成添加套件,以及测试应用的前提下,按如下操作流程: 1.访问路径:登录“海纳开发 ...
- CSS _text-align:justify;实现两端对齐
参考:https://segmentfault.com/q/1010000007136263 法一:text-align-last:justify: html <div> <p cl ...
- RabbitMQRPC 官方demo
public class RPCServer { public static void Test() { var factory = new ConnectionFactory() { HostNam ...