xml 到 javaconfig:配置文件和属性
xml to javaconfig: profile and properties
我想将以下 spring 个 bean 从 xml 转换为 javaconfig class。
<bean name="recorder" class="Recorder" />
<bean name="RecordFilter" class="RecordFilter">
<property name="resourceLocation" value="classpath:ports.list" />
</bean>
<bean name="iRecorder" class="iRecorder">
<property name="auditRecorder" ref="auditRecorder" />
</bean>
<beans profile="logging">
<bean name="logger" class="Logger" />
</beans>
但我不知道如何在 JavaConfig 中编写 profile 和 ref:
@Configuration
public class AppConfig {
@Bean
public Recorder recorder() {
Recorder recorder = new Recorder();
return recorder;
}
@Bean
public Filter filter(){
Filter filter = new Filter();
filter.setResourceLocation("classpath:audit/ignoredports.list");
return filter;
}
@Bean
public Recorder recorder(){Recorder recorder = new Recorder();
???????
return methodInvocationRecorder;
}
@Bean
??????????????
}
我看到了相同的请求,但没有找到答案。
我不是 100% 确定您要实现的目标,但这可能会为您指明正确的方向。
Spring java 配置允许 @Profile
以你为例:
<beans profile="logging">
<bean name="logger" class="Logger" />
</beans>
在java配置中可以这样表示:
@Configuration
@Profile("logging")
public class LoggingConfiguration {
@Bean
public Logger logger() {
Logger myLogger = new Logger();
return myLogger;
}
}
因此,当 "logging" 配置文件处于活动状态时,记录器 bean 只会 available/created。
激活 spring 配置文件的一种简单方法是在 属性:
中设置它们
spring.profiles.active=dev,logging
这也可以通过环境变量覆盖。
要进一步广泛阅读,您可以参考文档:
https://docs.spring.io/spring/docs/5.0.1.RELEASE/spring-framework-reference/core.html#beans-definition-profiles-java
我想将以下 spring 个 bean 从 xml 转换为 javaconfig class。
<bean name="recorder" class="Recorder" />
<bean name="RecordFilter" class="RecordFilter">
<property name="resourceLocation" value="classpath:ports.list" />
</bean>
<bean name="iRecorder" class="iRecorder">
<property name="auditRecorder" ref="auditRecorder" />
</bean>
<beans profile="logging">
<bean name="logger" class="Logger" />
</beans>
但我不知道如何在 JavaConfig 中编写 profile 和 ref:
@Configuration
public class AppConfig {
@Bean
public Recorder recorder() {
Recorder recorder = new Recorder();
return recorder;
}
@Bean
public Filter filter(){
Filter filter = new Filter();
filter.setResourceLocation("classpath:audit/ignoredports.list");
return filter;
}
@Bean
public Recorder recorder(){Recorder recorder = new Recorder();
???????
return methodInvocationRecorder;
}
@Bean
??????????????
}
我看到了相同的请求,但没有找到答案。
我不是 100% 确定您要实现的目标,但这可能会为您指明正确的方向。
Spring java 配置允许 @Profile
以你为例:
<beans profile="logging">
<bean name="logger" class="Logger" />
</beans>
在java配置中可以这样表示:
@Configuration
@Profile("logging")
public class LoggingConfiguration {
@Bean
public Logger logger() {
Logger myLogger = new Logger();
return myLogger;
}
}
因此,当 "logging" 配置文件处于活动状态时,记录器 bean 只会 available/created。
激活 spring 配置文件的一种简单方法是在 属性:
中设置它们spring.profiles.active=dev,logging
这也可以通过环境变量覆盖。
要进一步广泛阅读,您可以参考文档: https://docs.spring.io/spring/docs/5.0.1.RELEASE/spring-framework-reference/core.html#beans-definition-profiles-java