bean的scope
"singleton":单例(默认)
"prototype":一个bean可以对应多个对象实例
获取bean的方法
1、ApplicationContext(首选)
(1)bean的scope为singleton,实例化ApplicationContext时,bean对象也随之实例化
(2)bean的scope为prototype,实例化ApplicationContext时,bean对象不会随之实例化
2、BeanFactory
无论bean的scope是singleton还是prototype,实例化BeanFactory时,bean对象都不会随之实例化,当需要时再实例化bean对象
例如:BeanFactory bf=new XmlBeanFactory(new ClassPathResource("com/lcy/ioc/beans.xml"));//此时不会实例化bean
Student s1=(Student) bf.getBean("student");//实例化bean
三种获取ApplicationContext对象引用的方法
1、ClassPathXmlApplicationContext -> 通过类路径
2、FileSystemXmlApplicationContext -> 通过文件路径(绝对路径)
例如:
ApplicationContext ac=new FileSystemXmlApplicationContext("src\\com\\lcy\\ioc\\beans.xml");
3、XmlWebApplicationContext