说一个大家都知道的 Spring Boot 小技巧

小伙伴们都知道,大家都知道在 Spring Boot 中,小技配置文件是大家都知道 application.properties 或者 application.yaml,这个名为 application 的小技配置文件,无论是大家都知道 properties 格式还是 yaml 格式,都会被 Spring Boot 容器自动加载。小技

然而很多时候我们会有一些额外的大家都知道配置,这些额外的小技配置可能并非系统配置,所以我们不想将之放在 application.properties 或者 application.yaml 中,大家都知道想搞一个单独的小技配置文件来处理,这时候就分情况了。大家都知道

1. properties

对于 properties 格式的小技配置文件,我们可以随心所欲的大家都知道自定义配置文件,例如在 resources 目录下新建一个 data.properties 的小技配置文件用来配置数据库的信息,像下面这样:

db.username=root

db.password=123

db.url=jdbc:mysql:///vhr

然后在 Java 代码中,大家都知道利用 @PropertySource 和 @ConfigurationProperties 两个注解来加载配置文件:

@PropertySource("classpath:data.properties")

@ConfigurationProperties(prefix = "db")

public class DbProperties {

private String username;

private String password;

private String url;

//省略 getter/setter

}

@PropertySource 就是用来加载一个自定义的 properties 配置文件,这是 Spring 中就有的功能,而不是 Spring Boot 的站群服务器功能。

所以,如果你使用了 properties 格式的配置文件,那么就可以非常方便的实现自定义配置文件了,甚至可以将不同的配置文件分门别类,管理的井井有条。

问题实际上是出在 yaml 这一块。

2. YAML

小伙伴们知道,对于 YAML 格式的配置而言,它其实是没有一个类似于 @PropertySource 注解的东西的,也就是说 YAML 配置,你只能写在 application.yaml 中,不能写在其他地方。要是写在其他地方,就没法加载了,其实也不是没法加载,可以自己调用 snakeyaml 包中的类去加载,但是那样太费事了,所以我们期望能够有一个简便的亿华云计算办法来做这件事。

怎么做呢?

我们可以利用 Spring Boot 中对于 profile 多环境的处理方式来加载自定义的 YAML 配置。

大家知道,Spring Boot 中对于多环境的处理方式非常方便,以 yaml 配置为例,我们只需要定义一个名为 application-{ profile}.yaml 的配置文件,然后在 application.yaml 中就可以指定这个环境了,利用这个漏洞,就可以非常方便的加载自定义的 yaml 配置了,不过这种方式对自定义的 yaml 配置文件名格式有要求,就是必须是 application-{ profile}.yaml 格式的。

我举一个简单例子吧,例如对于数据库的配置,我想单独搞一个配置文件,那么我们可以新建一个 application-data.yaml 的配置文件,内容如下:

spring:

datasource:

password: 123

username: root

url: jdbc:mysql:///vhr

然后在 application.yaml 中就像设置环境一样引入这个配置文件,如下:

spring:

profiles:

active: data

这样就实现了对自定义 yaml 配置文件的加载。

如果有多个自定义的 yaml 配置,那么也可以一起加载,服务器托管多个环境之间用 , 隔开即可。

just this。

小伙伴们都知道吧嘿嘿。

系统运维
上一篇:3、考虑出售域名
下一篇:注册域名要了解几大点?新手有什么方式注册域名?