如何将 Spring 引导环境 bean 注入自定义 Spring xml bean?
How to inject Spring boot Environment bean to Custom Spring xml bean?
我使用 spring boot @Configuration class 注释创建了一个 bean,如下所示
@Configuration
public class CustomConfiguration {
@Bean
public MyEnvironmentProcessor myEnvironmentProcessor(Environment env) {
return new MyEnvironmentProcessor(env);
}
}
在其中一个应用程序中,我使用 Spring XML 创建 bean,然后使用 Spring 引导加载它们,我试图在 [=33] 中创建相同的 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
而非其 class:
来引用环境
<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中有一个space字符; "myEnvironmentProcessor "
我使用 spring boot @Configuration class 注释创建了一个 bean,如下所示
@Configuration
public class CustomConfiguration {
@Bean
public MyEnvironmentProcessor myEnvironmentProcessor(Environment env) {
return new MyEnvironmentProcessor(env);
}
}
在其中一个应用程序中,我使用 Spring XML 创建 bean,然后使用 Spring 引导加载它们,我试图在 [=33] 中创建相同的 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
而非其 class:
<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中有一个space字符; "myEnvironmentProcessor "