首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用xml bean定义文件时迁移到SpringBoot 2问题

使用xml bean定义文件时迁移到SpringBoot 2问题
EN

Stack Overflow用户
提问于 2021-11-15 18:39:04
回答 1查看 50关注 0票数 0

我有需要迁移到SpringBoot2的代码。问题是,xml中有两个bean定义,其中一个必须根据main方法中arg的值进行注入,因此没有使用@ImportResource注解来注入xml。

之前使用的内容:

代码语言:javascript
运行
复制
ApplicationContext context = new SpringApplication(App.class,"some-xml-that-will-change-based-on-args[0]-value.xml").run(args);

这在SpringBoot2中不再有效,因为构造函数参数已更改:

代码语言:javascript
运行
复制
public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) {

}

我尝试过的方法: i.尝试使用SpringApplicationBuilder,但它没有注入xml。

EN

回答 1

Stack Overflow用户

发布于 2021-11-15 23:08:32

我不太了解你的环境,但是你应该能够这样初始化你的应用程序:

代码语言:javascript
运行
复制
ApplicationContextFactory applicationContextFactory =
        ApplicationContextFactory.of(() -> new ClassPathXmlApplicationContext("some-xml.xml"));

SpringApplication springApplication = new SpringApplicationBuilder(DemoApplication.class)
        .contextFactory(applicationContextFactory).application();

springApplication.run(args);

如果您的应用程序上下文XML文件不在类路径中,那么您还可以看看FileSystemXmlApplicationContext。对于您的用例,您还可以考虑实现定制的ApplicationContextFactories,它负责加载正确的XML文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69979290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档