配置文件:[b]PropertyEditorBeans.xml[/b]
[code="xml"]<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="customEditorConfigurer"
class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="com.gbsc.propertyeditor.ExoticType">
<bean
class="com.gbsc.propertyeditor.ExoticTypeEditor">
<property name="format" value="upperCase" />
</bean>
</entry>
</map>
</property>
</bean>
<bean id="dependsOnExoticType"
class="com.gbsc.propertyeditor.DependsOnExoticType">
<property name="type" value="aNameForExoticType" />
</bean>
[/code]
测试文件:[b]PropertyEditorMain.java[/b]
[code="java"]package com.gbsc.propertyeditor;
import org.springframework.beans.factory.config.CustomEditorConfigurer;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
//import org.springframework.core.io.FileSystemResource;
public class PropertyEditorMain {
public static void main(String[] args) {
//我猜问题应该是出在这里,不知道对不对
ClassPathResource resource = new ClassPathResource
("com.gbsc.propertyeditor.PropertyEditorBeans.xml");
//用FileSystemResource时没有任何问题。
// FileSystemResource resource = new FileSystemResource
// ("PropertyEditorBeans.xml");
XmlBeanFactory factory = new XmlBeanFactory(resource);
CustomEditorConfigurer config = (CustomEditorConfigurer)factory.getBean
("customEditorConfigurer");
config.postProcessBeanFactory(factory);
DependsOnExoticType dependsOnExoticType = (DependsOnExoticType)factory.getBean
("dependsOnExoticType");
dependsOnExoticType.display();
}
}
[/code]
报错信息:Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [com.gbsc.propertyeditor.PropertyEditorBeans.xml]; nested exception is java.io.FileNotFoundException: class path resource [com.gbsc.propertyeditor.PropertyEditorBeans.xml] cannot be opened because it does not exist
详细的报错信息如下:
log4j:WARN No appenders could be found for logger (org.springframework.util.ClassUtils).
log4j:WARN Please initialize the log4j system properly.
[b][i]Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [com.gbsc.propertyeditor.PropertyEditorBeans.xml]; nested exception is java.io.FileNotFoundException: class path resource [com.gbsc.propertyeditor.PropertyEditorBeans.xml] cannot be opened because it does not exist[/i][/b]
Caused by: java.io.FileNotFoundException: class path resource [com.gbsc.propertyeditor.PropertyEditorBeans.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:135)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:307)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
at org.springframework.beans.factory.xml.XmlBeanFactory.(XmlBeanFactory.java:73)
at org.springframework.beans.factory.xml.XmlBeanFactory.(XmlBeanFactory.java:61)
at com.gbsc.propertyeditor.PropertyEditorMain.main(PropertyEditorMain.java:16)
不知道是哪里出了问题呢?请大虾们不吝赐教!
[b]问题补充:[/b]
配置文件是放在src下面的,其它类都在src\com\gbsc\propertyeditor下面。
我的classpath是:.;D:\Program Files\Java\jdk1.6.0_02\lib;
[b]问题补充:[/b]
我这个只是个Java项目,没有Web项目里像WEB-INF/classes这种目录的。