获取spring的IOC核心容器,并根据id获取对象

Posted ztycandy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取spring的IOC核心容器,并根据id获取对象相关的知识,希望对你有一定的参考价值。

public class Client {
/**
* 获取spring的IOC核心容器,并根据id获取对象
* ApplicationContext的三个常用实现类
* classPathXmlApplicationContext: 它可以加载路径下的配置文件,要求配置文件必须在类路径下。不在的话加载不了
* FileSystemXmlApplicationContext: 它可以加载磁盘任意路径下的配置文件件(必须有访问权限)
* AnnotationConfigApplicationContext:它是用于读取注解创建容器的,
*
* 核心容器的两个接口引发出的问题;
* ApplicationContext: 单例对象适用
* 它在构建核心容器时,创建对象采取的策略是采用立即加载的方式。也就是说,只要一读取配置文件马上就创建文件中配置的对象。
* BeanFactory: 多例对象适用
* 它在构建核心容器时,创建对象采取的策略是采用延迟加载的方式。也就是说,什么时候根据id获取对象了,什么时候才真正的构建对象。
*
*
* @param args
*/
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);

}
}

以上是关于获取spring的IOC核心容器,并根据id获取对象的主要内容,如果未能解决你的问题,请参考以下文章

03-Spring的IOC示例程序(通过类型获取对象)

轻松理解spring IOC

spring组件注册

对spring IOC容器DI的理解

Spring学习IOC容器配置bean:定义与实例化

struts2源码分析-IOC容器的实现机制(上篇)