我正在尝试在Web应用程序,单元测试和可能的控制台应用程序之间共享Spring对象定义。我想在一个地方定义对象定义并导入它们。
我的第一步是将'entities.xml'放在与web.config相同的文件夹中,但相对路径不是我所期望的:
<context>
<resource uri="config://spring/objects"/>
<resource uri="file://entities.xml"/>
</context>
和
<objects xmlns="http://www.springframework.net">
...
<import resource="file://entities.xml" />
产生同样的错误:
Could not find file 'c:\windows\system32\inetsrv\entities.xml'
'当前目录'不是网络应用程序,它特定于inetsrv。
我宁愿不对此文件的完整路径进行硬编码,因为它可能会因测试与生产服务器而异。有没有更好的方法来共享此配置信息?
答案 0 :(得分:2)
要引用当前应用程序域的根文件夹,可以使用'〜'char:
<resource uri="~/entities.xml"/>
将完全符合您的要求。
-Erich
答案 1 :(得分:1)
我认为spring.net还允许使用classpath:entities.xml语法,将xml文件放在类路径中。 (将其嵌入模块中)