Java 簡單類 普通類 獲取 引用spring bean類 spring boot

Java 簡單類引用spring bean類/讀取配置文件

在開發過程中,我們經常會遇到有需要在簡單類中使用 spring bean 的需求,我在項目中遇到了這樣的需求:我寫了一個配置文件,通過 @PropertySource 讀取了一個配置,然後要在一個簡單類中使用用,初始化這個簡單類的某一字段。

代碼如下:

@Component
@PropertySource(value = "classpath:forward.yml",factory = YamlConfigFactory.class)
@ConfigurationProperties(prefix = "forward")
@Data
public class ForwardServerConfig {
    public ForwardServer server;
}

@Component
public class SystemConfig {
    public static AlarmFileConfig alarmConfig;
    public static ForwardServerConfig forwardConfig;

    @Autowired
    public void setAlarmConfig(AlarmFileConfig alarmConfig) {
        SystemConfig.alarmConfig = alarmConfig;
    }
    @Autowired
    public void setForwardConfig(ForwardServerConfig forwardConfig) {
        SystemConfig.forwardConfig = forwardConfig;
    }
}

然後就可以在簡單類中使用

ForwardServer server = SystemConfig.forwardConfig.server;

需要注意的點:

  • 中轉類 systemConfig 的 set 方法不能加static,自動生成的 getset 方法是會帶上 static 關鍵字的。

另外你的各種服務類,代理類,只要是spring管理的類都可以這樣用哦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章