springboot无法从静态上下文中引用非静态变量怎么解决
作者:BrightSoul
时间:2023-05-11
浏览:3
静态方法可以不用创建对象就调用,非静态方法必须有了对象的实例才能调用。因此想在静态方法中直接引用非静态方法是不可能的,因为不知道调用哪个对象的非静态方法,编译器不可能给出答案,因为没有对象。java就怕找不到对象。解决办法:spring的set注入方法,通过非静态的setter方法注入静态变量,样例如下@PropertySource(value={"classpath:config/application.yml"},ignoreResourceNotFound=true,encoding="UTF-8"
本文目录
静态方法可以不用创建对象就调用,非静态方法必须有了对象的实例才能调用。
因此想在静态方法中直接引用非静态方法是不可能的,因为不知道调用哪个对象的非静态方法,编译器不可能给出答案,因为没有对象。
java就怕找不到对象。
解决办法:
spring的set注入方法,通过非静态的setter方法注入静态变量,样例如下
@PropertySource(value = {"classpath:config/application.yml"},ignoreResourceNotFound = true,encoding="UTF-8")
@Service
public class tank_task {
private static String kafka;
public static String getProfilesKafka() {
return kafka;
}
@Value("${stream.kafka.servers}")
public void setProfilesKafka(String kafka) {
tank_task.kafka = kafka;
}
public static void tank_test(){
System.out.println("config static kafka :" + tank_task.getProfilesKafka());
}
}
作者最新文章
漫蛙漫画免费下拉式在线看地址
2026-10-27 17:25
如何在WPSOffice2019一键开启和关闭筛选
2026-10-26 23:11
xmind怎么调整两个框之间的距离 布局技巧
2026-10-24 13:34
ps怎么抠图
2026-10-20 17:22
PDF表格怎么转换成Excel?如何免费将PDF表格转成Excel?
2026-10-15 11:26
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
























