容器
创建容器
-
方式一︰类路径加载配置文件
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xm1" );
-
方式二︰文件路径加载配置文件
ApplicationContext ctx = new FileSystemXmlApplicationContext("D: \\applicationContext.xml" );
-
加载多个配置文件
ApplicationContext ctx = new ClassPathXm1ApplicationContext("bean1.xm1" ,"bean2.xml");
获取bean
-
方式一︰使用bean名称获取
BookDao bookDao = (BookDao) ctx.getBean("bookDao");
-
方式二∶使用bean名称获取并指定类型
BookDao bookDao = ctx.getBean("bookDao", BookDao.class)
-
方式三∶使用bean类型获取
BookDao bookDao = ctx.getBean(BookDao.class);
容器类层次结构
BeanFactory初始化
-
类路径加载配置文件
Resource resources = new ClassPathResource( "applicationContext.xml" ); BeanFactory bf = new XmlBeanFactory(resources); BookDao bookDao = bf.getBean( "bookDao",BookDao.class); bookDao.save();
-
BeanFactory创建完毕后,所有的bean均为延迟加载
容器相关
- BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载
- ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载
- ApplicationContext接口提供基础的bean操作相关方法,通过其他接口扩展其功能
- ApplicationContext接口常用初始化类
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext