我有使用xml配置的旧Spring项目。
我想使用java annotations
重写此配置(出于某些原因)。
在这个xml
配置中,我有这个令人毛骨悚然的代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns....>
<!-- ... -->
<import resource="classpath:/spring/${service.loader:service}-loader.xml" />
<!-- ... -->
</beans>
如何使用java注释重写此导入语句?
@Configuration
@Import({
// TODO What do I need write here?
})
public class SpringConfig {
// ...
}
更新
注意:我想重写所有xml文件,我需要导入java类(来自属性或默认)。 我想我需要条件陈述。
答案 0 :(得分:3)
@Configuration
public class Loader {
/*configurations in classpath:/spring/${service.loader:service}
-loader.xml file */
}
@Configuration
@Import({Loader.class})
public class SpringConfig {
// ...
}
答案 1 :(得分:0)
您可能想要从基于xml的配置中导入,您可以使用以下标记在基于注释的弹簧配置中导入资源。
@ImportResource("/spring/${service.loader:service}-loader.xml")
但是,如果您要将每个上下文xml转换为基于@Conguration
的相应注释,那么您应该使用以下标记
@Import(OtherConfiguration.class)
答案 2 :(得分:0)
如果你使用spring-boot,那么你可以做这样的事情
@SpringBootApplication
@ImportResource("classpath:myconfig.xml")
public class MyClasss{
public static void main(String[] args) {
SpringApplication.run(Application.class, args); //Up and running
}
}