(自用)获取bean对象时BeanFactory和ApplicationContext的区别

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




    
    

 

 

 

例子:

@Test
public void testFindAll() {
    //1.获取容器
    ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
    //2.得到业务层对象
    IAccountService as = ac.getBean("accountService",IAccountService.class);
    //3.执行方法
    List accounts = as.findAllAccount();
    for(Account account : accounts){
        System.out.println(account);
    }
}

你可能感兴趣的:(框架,spring)