获取spring容器IOC核心容器

孤街浪徒 提交于 2020-03-17 02:33:03

ApplicationContext的三个常用实现类

  1. classPathXmlApplicationContext: 它可以加载路径下的配置文件,要求配置文件必须在类路径下。不在的话加载不了
  2. FileSystemXmlApplicationContext: 它可以加载磁盘任意路径下的配置文件件(必须有访问权限)
  3. AnnotationConfigApplicationContext:它是用于读取注解创建容器的

核心容器的两个接口引发出的问题:

1、 ApplicationContext: 单例对象适用
它在构建核心容器时,创建对象采取的策略是采用立即加载的方式。也就是说,只要一读取配置文件马上就创建文件中配置的对象。
2、BeanFactory: 多例对象适用
它在构建核心容器时,创建对象采取的策略是采用延迟加载的方式。也就是说,什么时候根据id获取对象了,什么时候才真正的构建对象。

代码

public static void main(String[] args){
            //1.获取核心容器对象
        //ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
        //2.根据id获取Bean对象
        //IAccountService as = (IAccountService)ac.getBean("accountService");
       // IAccountDao adao = ac.getBean("accountDao",IAccountDao.class);

        //System.out.println(as);
       // System.out.println(adao);

        //----------BeanFactory------
        Resource resource = new ClassPathResource("bean.xml");
        BeanFactory factory = new XmlBeanFactory(resource);

        IAccountService as = (IAccountService)factory.getBean("accountService");
        System.out.println(as);

    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!