我正在创建一个使用Spring bean的应用程序,我需要从ApplicationContext
初始化xml
。因为它不是服务器应用程序,所以它没有WEB-INF
文件夹。所以,我应该放置xml
文件?
答案 0 :(得分:3)
这个主题的spring文档起初有点压倒性。应用程序上下文配置的spring文档中的一个方便的起点是here
file system xml application context可能是最容易开始的。所以:
ApplicationContext appCtx =
new FileSystemXmlApplicationContext("/path/to/springconfig.xml");
如果您的应用程序类路径中有xml配置,请使用ClassPathApplicationContext
。在此示例中,它可能是项目目录src / config / springconfig.xml下的springconfig.xml。
ApplicationContext appCtx =
new ClassPathXmlApplicationContext("config/springconfig.xml");
如果您不确定在构建应用程序后springconfig.xml的结束位置,可以使用以下命令列出jar的内容:
jar -tvf myapp.jar
对于默认的eclipse java项目, project-home / bin 目录是类路径的开头。
提出了一个相关问题here
答案 1 :(得分:3)
使用ClassPathXmlApplicationContext
:
ApplicationContext ctx =
new ClassPathXmlApplicationContext("applicationContext.xml");
或考虑迁移到@Configuration
:
ApplicationContext ctx =
new AnnotationConfigApplicationContext(AppConfig.class);
其中AppConfig
使用@Configuration
注释,不需要XML。
答案 2 :(得分:1)
请查看此示例Spring Setter Injection
如果XML在应用程序类路径中,那么就像这样使用
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
否则,如果XML在文件系统中,则使用
ApplicationContext context = new FileSystemXmlApplicationContext("beans.xml");