项目场景:
传智黑马课程以及spring书本代码例子尝试
1.问题描述
IOException parsing XML document from class path resource但是xml存在
public static void main(String[] args) {
ApplicationContext applicationContextTest=new ClassPathXmlApplicationContext("applicationContext.xml");//问题行
Userservice userservice=(Userservice) applicationContextTest.getBean("userservice");
System.out.println(userservice);
}
}
原因分析:
xml找不到所在路径
解决方案:
target的问题,编译的时候没有将xml放入其中,把xml文件复制放进target的class目录下编译就正常运行了。
2.问题描述
ApplicationContextTest_name 这行代码一直报错
public class ApplicationContextTest_name {
public static void main(String[] args) {
ApplicationContextTest_name applicationContextTest_name =new ClassPathXmlApplicationContext("applicationContext_name");
UserService userService=(UserService) applicationContextTest_name .getBean("userService");
System.out.println(userService);
}
}
原因分析:
对语法的误解,创建的接收对象应该是ApplicationContext创建,而不是自己写的测试类自己创建。
解决方案:
将ApplicationContextTest_name 更换成ApplicationContext导入对应的包,报错消失。
问题描述
com.dao.impl.UserDaoImpl cannot be cast to com.service.UserService
at com.test.ApplicationContextTest_name.main
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext_name.xml");
UserService userService=(UserService) applicationContext.getBean("aaa");
userService.save();
}
<bean id="userdao" name="datastructure,aaa,bbb" class="com.dao.impl.UserDaoImpl" init-method="initial"></bean>
<bean id="userservice" class="com.service.impl.UserServiceImpl" init-method="mydestory">
原因分析:
这是由于id和getBean名称没有对应,将aaa修改成userservice