在我的Spring应用程序中,我有一个简单的属性文件位于
该属性文件在
这一切都运行得很完美,除了以下的测试程序有一行:
会抛出一个BeanCreationException异常:
由于:
但是如果整个应用程序都可以看到属性文件,为什么这个程序不能呢?
WEB-INF\classes
文件夹中,这样它、DispatcherServlet
和其他各种配置文件都在classpath
中。该属性文件在
DispatcherServlet
中定义为:<bean id="propertiesFactory" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location">
<value>/WEB-INF/classes/library.properties</value>
</property>
</bean>
将propertiesFactory
bean注入到控制器中:
@Autowired
private Properties propertiesFactory;
并在控制器的一个方法中使用,如下:
if (adminPassword.equals(propertiesFactory.getProperty("adminPassword"))) {
这一切都运行得很完美,除了以下的测试程序有一行:
ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("library-servlet.xml");
会抛出一个BeanCreationException异常:
Injection of autowired dependencies failed
由于:
java.io.FileNotFoundException: class path resource [WEB-INF/classes/library.properties] cannot be opened because it does not exist
但是如果整个应用程序都可以看到属性文件,为什么这个程序不能呢?
DispatcherServlet
一样,即JavaBean注册以及所有Spring和Hibernate配置数据。你有什么特别想知道的吗? - Mr Morgan