Spring懒加载
lazy-init标签:
说明: lazy-init="false"中default与false的含义相同
1, lazy-init=“true” 得到执行结果:
ClassPathXmlApplicationContext applicationContext=new ClassPathXmlApplicationContext("application.xml"); // Test的main方法中只写此行代码
Student类中代码如下
public class Student {
public Student() {
super();
System.out.println(1);
}
}
application.xml文件只配置如下代码
<bean name="student" class="com.zzu.vo.Student" lazy-init="false"></bean>
执行后得到如下结果:
因为new ClassPathXmlApplicationContext("application.xml");
执行会创建对象,lazy-init标签值为false,默认可以创建对象,直接执行了构造方法。
2,lazy-init="false"得到执行结果:
其他类中代码不变,只在application.xml文件中配置如下代码
<bean name="student" class="com.zzu.vo.Student" lazy-init="true"></bean>
得到如下结果
lazy-init标签属性值为true,说明开启懒加载,先不创建对象,不会执行无参构造方法。