控制台出现错误:
四月 10, 2018 12:26:41 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@18e0d81: startup date [Tue Apr 10 12:26:41 CST 2018]; root of context hierarchy
四月 10, 2018 12:26:41 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:251)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:542)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at clu.mochunrong_2.action.TestUser.main(TestUser.java:37)
Caused by: java.io.FileNotFoundException: class path resource [beans.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)
... 13 more
首先,这个是我spring第一个调试程序,就出现了此情况,随后我看了下错误,没找到bean.xml文件,于是我就怀疑是路径问题,拷贝权限列名,不行。最后放在res根目录,可以了。当时我是放在包里面。这样会让文件的区域变小,导致找不到报哪个鬼错误。
TestUser.java
package clu.mochunrong_2.action;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import clu.mochunrong_2.service.UserService;
public class TestUser {
private UserService userservice;
public void setUserservice(UserService userservice) {
this.userservice = userservice;
}
public TestUser() {
System.out.println("TestUser---构造器");
}
public void adddUser(){
System.out.println("addUser");
try {
boolean flag = userservice.add("mochunrong", "1234");
if(flag)
System.out.println("添加成功");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println("----");
ApplicationContext context =
new ClassPathXmlApplicationContext("beans.xml");
TestUser bean = (TestUser) context.getBean("testUser");
bean.adddUser();
}
}
UserService.java
package clu.mochunrong_2.service;
public interface UserService {
public boolean add(String user,String pass);
}
UserServiceImpl.java
package clu.mochunrong_2.service.impl;
import clu.mochunrong_2.service.UserService;
public class UserServiceImpl implements UserService{
public UserServiceImpl() {
System.out.println("普通用户---构造器");
}
public boolean add(String user, String pass) {
System.out.println("普通用户添加成功"+user+pass);
return true;
}
}