目录
BeanFactory与ApplicationContext区别
方式一:类路径加载配置文件
//1.加载类路径下的配置文件,一般都使用这个 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");方式二:文件路径加载配置文件
//2.从文件系统下加载配置文件,使用绝对路径,了解 ApplicationContext context = new FileSystemXmlApplicationContext("D:\\IDEA\\SpringStudy\\src\\main\\resources\\applicationContext.xml");都可以加载多个配置文件
//用,隔开"" ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml","bean2.xml");
方式一:使用bean名称获取之后强转
//使用bean名称获取并强转 DataSource dataSource = (DataSource) context.getBean("dataSource");方式二:使用bean名称获取并指定类型
//使用bean名称获取并指定类型 DataSource dataSource = context.getBean("dataSource",DataSource.class);方式三:使用bean类型获取
//按类型,要求bean唯一 DataSource dataSource = context.getBean(DataSource.class);
类路径加载配置文件
Resource resources = new ClassPathResource("applicationContext.xml"); BeanFactory beanFactory = new XmlBeanFactory(resources); Dao3 dao3 = beanFactory.getBean("Dao3",Dao3.class); dao3.show();
BeanFactory创建完毕后,所有的bean均为延迟加载。
ApplicationContext创建完毕后,所有的bean均加载,可以在配置bean时添加lazy-init实现同样的效果
<bean id="Dao3" class="Dao.impl.DaoImpl3" lazy-init="true">