Springboot引入多个yml方法(多种方案)

 更新时间:2019年10月11日 10:03:42   作者:mysgk  
SpringBoot默认加载的是application.yml文件,所以想要引入其他配置的yml文件,就要在application.yml中激活该文件这篇文章主要介绍了Springboot引入多个yml方法,需要的朋友可以参考下

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方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Java程序开发中abstract 和 interface的区别详解

    Java程序开发中abstract 和 interface的区别详解

    abstract class和interface在Java语言中都是用来进行抽象类。但是两者有什么区别呢,接下来小编给大家带来了abstract 和 interface的区别详解,感兴趣的朋友一起学习吧
    2016-06-06
  • Java爬虫抓取视频网站下载链接

    Java爬虫抓取视频网站下载链接

    本文是通过JAVA获取优酷、土豆、酷6、6间房等视频,小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • 一文搞懂java中的栈和括号匹配

    一文搞懂java中的栈和括号匹配

    栈在我们日常编码中遇到的非常多,很多人对栈的接触可能仅仅局限在 递归使用的栈 和 StackOverflowException,栈是一种后进先出的数据结构(可以想象生化金字塔的牢房和生化角斗场的狗洞)
    2023-11-11
  • SpringCloud集成Eureka并实现负载均衡的过程详解

    SpringCloud集成Eureka并实现负载均衡的过程详解

    这篇文章主要给大家详细介绍了SpringCloud集成Eureka并实现负载均衡的过程,文章通过代码示例和图文讲解的非常详细,对大家的学习或工作有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • Feign接口方法返回值设置方式

    Feign接口方法返回值设置方式

    这篇文章主要介绍了Feign接口方法返回值设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • JAVA参数传递方式实例浅析【按值传递与引用传递区别】

    JAVA参数传递方式实例浅析【按值传递与引用传递区别】

    这篇文章主要介绍了JAVA参数传递方式,结合实例形式分析了java按值传递与引用传递区别及相关操作注意事项,需要的朋友可以参考下
    2020-05-05
  • 详解Java 类的加载、连接和初始化

    详解Java 类的加载、连接和初始化

    这篇文章主要介绍了Java 类的加载、连接和初始化的的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • java性能分析jconsole详解

    java性能分析jconsole详解

    这篇文章主要介绍了java性能分析jconsole详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • springboot log4j2.xml如何读取application.yml中属性值

    springboot log4j2.xml如何读取application.yml中属性值

    这篇文章主要介绍了springboot log4j2.xml如何读取application.yml中属性值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 详解Java项目中读取properties文件

    详解Java项目中读取properties文件

    本篇文章主要介绍了Java项目中读取properties文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12

最新评论