Java 在spring中找不到获取错误文件
我在春季做了一个简单的程序,得到了这个错误Java 在spring中找不到获取错误文件,java,spring,spring-mvc,Java,Spring,Spring Mvc,我在春季做了一个简单的程序,得到了这个错误 ---- log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext). log4j:WARN Please initialize the log4j system properly. Exception in thread "main" org.springframework.
----
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'studentbean' defined in class path resource [META-INF/test.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'name' of bean class [test]: Bean property 'name' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at test.main(test.java:12)
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'name' of bean class [test]: Bean property 'name' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1024)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:900)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1358)
... 13 more
----
log4j:WARN找不到记录器(org.springframework.context.support.ClassPathXmlApplicationContext)的追加器。
log4j:警告请正确初始化log4j系统。
线程“main”org.springframework.beans.factory.BeanCreationException中出现异常:创建名为“studentbean”的bean时出错,该bean在类路径资源[META-INF/test.xml]中定义:设置属性值时出错;嵌套异常为org.springframework.beans.NotWritablePropertyException:bean类[test]的属性“name”无效:bean属性“name”不可写或具有无效的setter方法。setter的参数类型与getter的返回类型匹配吗?
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:580)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)
at test.main(test.java:12)
原因:org.springframework.beans.NotWritablePropertyException:bean类[test]的属性'name'无效:bean属性'name'不可写或具有无效的setter方法。setter的参数类型与getter的返回类型匹配吗?
位于org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1024)
位于org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:900)
位于org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76)
位于org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1358)
... 还有13个
我需要这个链接的帮助。
我执行以下步骤
在此文件夹WEB-INF test.xml中创建xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="studentbean" class="test">
<property name="name" value="Vimal Jaiswal"></property>
</bean>
</beans>
public class test {
public static void main(String[] args) {
System.out.println("----");
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("META-INF/test.xml");
;
//BeanFactory factory=new XmlBeanFactory(appContext);
Student student=(Student)applicationContext.getBean("studentbean");
student.displayInfo();
}
}
公开课考试{
公共静态void main(字符串[]args){
System.out.println(“---”);
ApplicationContext ApplicationContext=new ClassPathXmlApplicationContext(“META-INF/test.xml”);
;
//BeanFactory工厂=新的XmlBeanFactory(appContext);
学生=(学生)应用程序上下文.getBean(“学生bean”);
student.displayInfo();
}
}
问题在于:
Caused by: java.io.FileNotFoundException: class path resource [META-INF/test.xml]
您的类路径中没有该文件
将您的test.xml
文件放入META-INF
目录
对于新问题,在您的测试类中,您必须为name属性声明getter和setter。它似乎在查找
META-INF/test.xml
而不是WEB-INF/test.xml
。这不是“找不到类”,而是“找不到文件”,这是不言自明的。嗯..我这样做了,但我得到了同样的错误..我正在用run as java应用程序运行java文件请检查我的更新图片..我使dynamic web projet只创建两个java文件和一个xml文件将META-INF放在src folder下在你的bean测试中你需要为name属性设置setter和getter:)让我们