beanFactory快速入门
beanFactory的快速入门
结构
userService
接口
public interface UserService {}
userServiceImpl
public class UserServiceImpl implements UserService {public void setUserDao(UserDao userDao) {System.out.println("userDao" + userDao);}
}
userDao
接口
public interface UserDao {
}
userDaoImpl
public class UserDaoImpl implements UserDao {}
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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="userDao" class="com.kaiming.dao.impl.UserDaoImpl"></bean><!-- userService中注入userDao--><bean id="userService" class="com.kaiming.service.impl.UserServiceImpl"><property name="userDao" ref="userDao"></property></bean></beans>
test
public class BeanFactoryTest {public static void main(String[] args) {// 1.创建工厂对象DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();// 2.创建xml读取器XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory);// 3.加载配置文件reader.loadBeanDefinitions("beans.xml");// 4.获取bean的实例对象UserService userService = (UserService) beanFactory.getBean("userService");System.out.println(userService);UserDao userDao = (UserDao) beanFactory.getBean("userDao");System.out.println(userDao);}
}
userDaocom.kaiming.dao.impl.UserDaoImpl@2e3fc542
com.kaiming.service.impl.UserServiceImpl@150c158 // userServiceImpl依赖userDao,先实例化userDao
com.kaiming.dao.impl.UserDaoImpl@2e3fc542