如何使用Springboot实现引入多个YML配置文件的不同策略?

更新于
2026-09-25 09:07:01
21阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计473个文字,预计阅读时间需要2分钟。

如何使用Springboot实现引入多个YML配置文件的不同策略?

SpringBoot默认加载的是`application.yml`文件,若想引入其他配置的yml文件,需在`application.yml`中激活该文件,并定义一个名为`application-resources.yml`的文件(注意:必须以`application-`开头)。

SpringBoot默认加载的是application.yml文件,所以想要引入其他配置的yml文件,就要在application.yml中激活该文件

定义一个application-resources.yml文件(注意:必须以application-开头)

application.yml中:

spring:
profiles:
active: resources

以上操作,xml自定义文件加载完成,接下来进行注入。

application-resources.yml配置文件代码:

user: filepath: 12346 uname: "13" admin: aname: 26

方案一:无前缀,使用@Value注解

@Component //@ConfigurationProperties(prefix = "user") public class User { @Value("${user.filepath}") private String filepath; @Value("${user.uname}") private String uname; public String getFilepath() { return filepath; } public void setFilepath(String filepath) { this.filepath = filepath; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } @Override public String toString() { return "User{" + "filepath='" + filepath + '\'' + ", uname='" + uname + '\'' + '}'; } }

方案二:有前缀,无需@Value注解

@Component @ConfigurationProperties(prefix = "user") public class User { //@Value("${user.filepath}") private String filepath; //@Value("${user.uname}") private String uname; public String getFilepath() { return filepath; } public void setFilepath(String filepath) { this.filepath = filepath; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } @Override public String toString() { return "User{" + "filepath='" + filepath + '\'' + ", uname='" + uname + '\'' + '}'; } }


测试类:

package com.sun123.springboot; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class UTest { @Autowired User user; @Test public void test01(){ System.out.println(user); } }

测试结果:

总结

以上所述是小编给大家介绍的Springboot引入多个yml方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对自由互联网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

如何使用Springboot实现引入多个YML配置文件的不同策略?

本文共计473个文字,预计阅读时间需要2分钟。

如何使用Springboot实现引入多个YML配置文件的不同策略?

SpringBoot默认加载的是`application.yml`文件,若想引入其他配置的yml文件,需在`application.yml`中激活该文件,并定义一个名为`application-resources.yml`的文件(注意:必须以`application-`开头)。

SpringBoot默认加载的是application.yml文件,所以想要引入其他配置的yml文件,就要在application.yml中激活该文件

定义一个application-resources.yml文件(注意:必须以application-开头)

application.yml中:

spring:
profiles:
active: resources

以上操作,xml自定义文件加载完成,接下来进行注入。

application-resources.yml配置文件代码:

user: filepath: 12346 uname: "13" admin: aname: 26

方案一:无前缀,使用@Value注解

@Component //@ConfigurationProperties(prefix = "user") public class User { @Value("${user.filepath}") private String filepath; @Value("${user.uname}") private String uname; public String getFilepath() { return filepath; } public void setFilepath(String filepath) { this.filepath = filepath; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } @Override public String toString() { return "User{" + "filepath='" + filepath + '\'' + ", uname='" + uname + '\'' + '}'; } }

方案二:有前缀,无需@Value注解

@Component @ConfigurationProperties(prefix = "user") public class User { //@Value("${user.filepath}") private String filepath; //@Value("${user.uname}") private String uname; public String getFilepath() { return filepath; } public void setFilepath(String filepath) { this.filepath = filepath; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } @Override public String toString() { return "User{" + "filepath='" + filepath + '\'' + ", uname='" + uname + '\'' + '}'; } }


测试类:

package com.sun123.springboot; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class UTest { @Autowired User user; @Test public void test01(){ System.out.println(user); } }

测试结果:

总结

以上所述是小编给大家介绍的Springboot引入多个yml方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对自由互联网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

如何使用Springboot实现引入多个YML配置文件的不同策略?