public static void main(String[] args) {
/*
//一。立即加载ApplicationContext一创建就加载 ,单例对象适用 ,常用
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
//根据ID获取bean对象
AccountService as = (AccountService) ac.getBean("accountService");
AccountDao ad = ac.getBean("accountDao",AccountDao.class);
System.out.println(as);
System.out.println(ad);
as.savaAccount();
*/
//二。延迟加载BeanFactory,使用才创建相应的对象,多例对象使用
Resource resource = new ClassPathResource("bean.xml");
BeanFactory factory = new XmlBeanFactory(resource);
AccountService as = (AccountService) factory.getBean("accountService");
System.out.println(as);
as.savaAccount();
}
bean.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="accountService" class="com.xp.service.impl.AccountServiceImpl"></bean>
<bean id="accountDao" class="com.xp.dao.impl.AccountDaoImpl"></bean>
</beans>
例子:
@Test public void testFindAll() { //1.获取容器 ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); //2.得到业务层对象 IAccountService as = ac.getBean("accountService",IAccountService.class); //3.执行方法 List<Account> accounts = as.findAllAccount(); for(Account account : accounts){ System.out.println(account); } }