springboot無法從靜態(tài)上下文中引用非靜態(tài)變量的解決方法
更新時間:2019年06月29日 09:58:09 作者:海底蒼鷹
這篇文章主要介紹了springboot無法從靜態(tài)上下文中引用非靜態(tài)變量的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
靜態(tài)方法可以不用創(chuàng)建對象就調(diào)用,非靜態(tài)方法必須有了對象的實例才能調(diào)用。
因此想在靜態(tài)方法中直接引用非靜態(tài)方法是不可能的,因為不知道調(diào)用哪個對象的非靜態(tài)方法,編譯器不可能給出答案,因為沒有對象。
java就怕找不到對象。
解決辦法:
spring的set注入方法,通過非靜態(tài)的setter方法注入靜態(tài)變量,樣例如下
@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());
}
}
解決辦法不止這一種,個人覺得這種方法,簡單,也實用。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Java中spring boot validation自定義注解使用方式
這篇文章主要介紹了Java中spring boot validation自定義注解使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
RabbitMQ中的prefetch_count參數(shù)詳解
這篇文章主要介紹了RabbitMQ中的prefetch_count參數(shù)用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

