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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

  2021-04-02 我要评论

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

您可能感兴趣的文章:

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们