Springboot引入多个yml方法(多种方案)
作者:mysgk 时间:2023-07-21 21:10:48
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方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/mysgk/p/9790801.html
标签:Spring,boot,yml
0
投稿
猜你喜欢
C++调试追踪class成员变量的方法
2022-11-21 01:32:12
详解Struts2拦截器机制
2022-03-12 23:20:52
从try-with-resources到ThreadLocal,优化你的代码编写方式
2023-11-11 03:19:52
Java泛型常见面试题(面试必问)
2021-11-20 20:51:55
java.sql.Date和java.util.Date的区别详解
2023-11-28 16:15:09
详解C# ConcurrentBag的实现原理
2022-11-17 02:26:05
Android实现手机振动设置的方法
2021-08-02 23:46:21
JAVA读取文件流,设置浏览器下载或直接预览操作
2023-10-06 09:20:59
如何使用Flutter发布安卓应用
2022-09-07 08:46:07
Android图片处理工具类BitmapUtils
2022-12-28 05:23:39
Java使用ThreadLocal实现当前登录信息的存取功能
2023-06-06 12:00:34
C#设计模式之Singleton模式
2022-03-28 09:01:31
Android 蓝牙2.0的使用方法详解
2022-10-19 17:21:21
Java日常练习题,每天进步一点点(32)
2022-04-29 07:12:53
关于Tomcat出现The origin server did not find a current representation for the target resourc...的问题
2023-03-03 18:02:43
C#无法打开计算机“.”上的 IISADMIN 服务的解决方法
2023-02-04 21:46:54
Dynamic和Var的区别及dynamic使用详解
2022-09-22 13:18:23
Android第三方控件PhotoView使用方法详解
2021-12-07 20:35:48
通过Java实现反向代理集群服务的平滑分配
2023-05-28 12:51:54
idea生成类注释和方法注释的正确方法(推荐)
2022-09-11 03:45:14