什么时候在Spring中创建一个对象?

时间:2015-08-20 03:43:08

标签: java spring

在执行以下行时是否创建了对象?

ApplicationContext con = new ClassPathXmlApplicationContext("factory.xml");

或者是在执行以下代码时创建的对象obj

Sample obj = (Sample)con.getBean("id");

2 个答案:

答案 0 :(得分:1)

它取决于bean的范围,默认情况下,bean是单例,并且在执行第一行时创建。如果你的bean规范有范围" prototype",那么每次执行第二行时都会创建一个新的bean

答案 1 :(得分:1)

这取决于bean的定义方式。请参阅此内容以获取范围详细信息:

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-scopes

如果bean是代理(例如作用域,aop),那么实例化将取决于其他因素。