温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Springboot中引入多个yml

发布时间:2021-05-10 16:09:00 来源:亿速云 阅读:435 作者:Leah 栏目:编程语言

怎么在Springboot中引入多个yml?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

springboot是什么

springboot一种全新的编程规范,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,SpringBoot也是一个服务于框架的框架,服务范围是简化配置文件。

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI