## 目录
1.原代码
2.出现问题的代码
3.正确写法
4.描述
## 1.原代码
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<bean id="userDaoImpl" class="com.itheima.dao.impl.UserDaoImpl">
</bean>
</beans>
import com.itheima.dao.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
// UserDao userDao = Spring客户端.getBean(id标识)
// Spring客户端->applicationContext
// id标识->对象名
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao=(UserDao) applicationContext.getBean("userDao");
userDao.save();
}
}
## 2.出现问题的代码
<bean id="userDaoImpl" class="com.itheima.dao.impl.UserDaoImpl">
## 3.正确写法
<bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl">
## 4.描述
id="xxx",这里的xxx应该是接口而不是实现类
【复盘】
这个问题和解决方案都是想不出来的,偶然那么改了一下,就不报错了。
测试过改回去并运行,依然报错。按上面总结的正确写法来写并运行,不报错。
按说id是可以自己起名的,在实际运行前,id写成接口没事,id写成实现类就报错。
结论——有时候编程也有玄学味。