在WEB-INF
创建@Bean
目录下的Spring@Configuration
类中,我试图加载特定的资源。
如我所知,@ImportResource
仅用于Spring配置,而不是用于其他文件。使用ClassLoader
的方法不起作用,并且总是返回null
。
例如:
@Bean
public aBean someBean() {
final URL someFolderDirUrl = WebConfig.class.getClassLoader().getResource("WEB-INF/someFolder");
final URL someFolderDirUrl2 = WebConfig.class.getClassLoader().getResource("/someFolder");
final URL someFolderDirUrl3 = WebConfig.class.getClassLoader().getResource("/WEB-INF/someFolder");
final URL someFolderDirUrl4 = WebConfig.class.getClassLoader().getResource("someFolder");
// final URI someFolderDirUri = new URI("file:/WEB-INF/someFolder");
if(modulesDirUrl != null) {
File someFolderDirFile;
try {
someFolderDirFile = new File(someFolderDirUrl.toURI());
} catch(final URISyntaxException e) {
someFolderDirFile = new File(someFolderDirUrl.getPath());
}
return new aBean(someFolderDirFile);
}
return new aBean();
}
最后,所有someFolderDirUrlX变量都是null
,someFolderDirUri
的情况相同。
是否可以在Spring的File
类中获取指向WEB-INF
中的文件或目录的@Configuration
对象
发布于 2014-09-19 14:42:26
您可以从ServletContext访问它:
@Autowired
ServletContext servletContext;
@Bean
public aBean someBean() {
File someFolderDirUrl = new File( servletContext.getRealPath("/WEB-INF/") );
....
}
https://stackoverflow.com/questions/25936352
复制相似问题