当前位置:首页 >探索 >说一个大家都知道的 Spring Boot 小技巧 小技 小伙伴们都知道

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

2024-06-30 01:17:51 [百科] 来源:避面尹邢网

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

作者:江南一点雨 数据库 其他数据库 在 Spring Boot 中,我们不想将配置文件放在 application.properties 或者 application.yaml 中,小技想搞一个单独的大家都知道配置文件来处理,这时候就分情况了。小技

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

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

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

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

1. properties

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

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

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。

小伙伴们都知道吧嘿嘿。

责任编辑:赵宁宁 来源: 江南一点雨 配置文件数据库

(责任编辑:时尚)

    推荐文章
    热点阅读