Ste*_*360 11 spring file classpath
我有一行代码:File file = new File(getFile())在java类中HandleData.java
方法 - getFile()获取属性的值fileName.并fileName通过application_context.xml类的bean部分注入 - HandleData如下:
<bean id="dataHandler" class="com.profile.transaction.HandleData">
<property name="fileName" value="DataFile.xml"></property>
</bean>
Run Code Online (Sandbox Code Playgroud)
我成功地构建了项目并检查了 - DataFile.xml是否存在WEB-INF/classes.并且HandleData.class存在于WEB-INF/classes/com/profile/transacon
但是当我运行它时会抛出filenotfound异常.如果我注入绝对路径(C:\MyProjectWorkspace\DataProject\target\ProfileService\WEB-INF\classes\DataFile.xml它成功找到文件).
有人可以帮助确定要注入的正确路径,以便从类路径中获取文件吗?
hel*_*lmy 37
虽然注入a File通常是首选方法,但您也可以利用Spring的ResourceLoader来动态加载资源.
通常,这就像注入ResourceLoaderSpring bean 一样简单:
@Autowired
private ResourceLoader resourceLoader;
Run Code Online (Sandbox Code Playgroud)
然后从类路径加载:
resourceLoader.getResource("classpath:myfile.txt");
Run Code Online (Sandbox Code Playgroud)
你应该有:
<property name="fileName" value="classpath:DataFile.xml" />
Run Code Online (Sandbox Code Playgroud)
它应该被注入为org.springframework.core.io.Resource类似于这个答案
| 归档时间: |
|
| 查看次数: |
45297 次 |
| 最近记录: |