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); }}
原文地址:https://www.cnblogs.com/ZTYCandy/p/10675169.html
时间: 2024-11-06 07:11:08