簡體   English   中英

如何將 Spring 啟動環境 bean 注入自定義 Spring xml bean?

[英]How to inject Spring boot Environment bean to Custom Spring xml bean?

我使用 spring boot @Configuration 類注釋創建了一個 bean,如下所示

@Configuration
public class CustomConfiguration {
    @Bean
    public MyEnvironmentProcessor myEnvironmentProcessor(Environment env) {
        return new MyEnvironmentProcessor(env);
    }
}

在我使用 Spring XML 創建 bean 然后使用 Spring boot 加載它們的應用程序之一中,我試圖在 XML 中創建相同的 bean,但它不起作用,我在下面嘗試

<bean id="myEnvironmentProcessor " class="com.example.MyEnvironmentProcessor">
    <constructor-arg>
        <bean class="org.springframework.core.env.Environment"/>
    </constructor-arg>
</bean>

如何在 Spring XML 中創建等效的基於 Java 的 bean?

Spring 版本:5.2.4.RELEASE Spring 引導版本:2.2.5.RELEASE

您可以通過引用它的 ID 來引用environment ,即environment ,而不是它的類:

<bean id="myEnvironmentProcessor" class="com.example.MyEnvironmentProcessor">
    <constructor-arg ref="environment"/>
</bean>
import org.springframework.core.env.Environment;

public class MyEnvironmentProcessor {
    private Environment environment;

    public MyEnvironmentProcessor(Environment environment) {
        this.environment = environment;
    }
}

順便說一下,您的 bean 定義在 ID 中有一個空格字符; "myEnvironmentProcessor "

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM