,众所周知,在SpringBoot中,配置文件是application.properties或者application.yaml,配置文件名为application,无论是properties格式还是yaml格式,将由SpringBoot容器自动加载。但是很多时候我们会有一些额外的配置,这些配置可能不是系统配置,所以我们不想放在application.properties或者application.yaml中,而是想单独创建一个配置文件进行处理。这时候,我们将他们分成情况就没有了。1.properties对于properties格式的配置文件,我们可以根据自己的喜好自定义配置文件,比如在resources目录下新建data.properties配置文件,用于配置数据库信息,如下:db.username=rootdb.password=123db.url=jdbc:mysql:///vhr然后在Java代码中,使用@PropertySource和@ConfigurationProperties加载配置文件:@PropertySource("classpath:data.properties")@ConfigurationProperties(prefix="db")publicclassDbProperties{私有字符串用户名;私有字符串密码;私人字符串网址;//Omitgetter/setter}@PropertySource用于加载自定义属性配置文件,这是Spring中的一个函数,不是SpringBoot的特性。因此,如果使用properties格式的配置文件,就可以非常方便的实现自定义配置文件,甚至可以对不同的配置文件进行分类,进行有序的管理。问题实际上在yaml中。2、YAML的朋友都知道,对于YAML格式的配置,其实并没有类似@PropertySource注解的东西,也就是说YAML配置只能写在application.yaml中,不能写在其他地方。如果写在其他地方,则无法加载。其实也不是不能加载。可以自己调用snakeyaml包中的类来加载,但是太麻烦了,希望能有简单的方法。.怎么做?我们可以使用SpringBoot对配置文件多环境的处理来加载自定义YAML配置。众所周知,在SpringBoot中处理多环境是非常方便的。以yaml配置为例,我们只需要定义一个名为application-{profile}.yaml的配置文件,然后在application.yaml中指定环境即可,利用该漏洞可以轻松加载自定义yaml配置,但是该方法需要自定义yaml配置文件名的格式,即必须是application-{profile}.yaml格式。让我举一个简单的例子。比如数据库配置,我想单独创建一个配置文件,那么我们可以新建一个application-data.yaml配置文件,内容如下:spring:datasource:password:123username:rooturl:jdbc:mysql:///vhr然后像设置环境一样在application.yaml中导入这个配置文件,如下:spring:profiles:active:data这样就实现了自定义yaml配置文件的加载。如果有多个自定义yaml配置,也可以一起加载,多个环境之间用,隔开。只是这个。你们都知道,呵呵。
