懒加载
Bean是由spring创建并管理的对象
默认情况下,IOC容器初始化时便会把bean实例化,代码和结果如下:
package com.zzu.vo; public class Student { String name; public Student() { super(); System.out.println("-----"); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
public class Test { public static void main(String[] args) { new ClassPathXmlApplicationContext("application.xml"); } }
运行结果:
懒加载:可以通过如下两种方式实现bean实例化懒加载(即在使用该bean对象时才实例化,这样可以节省系统资源):
a、在beans标签中添加default-lazy-init="true",则在该标签中配置的所有bean将实现懒加载;
b、在对应的bean标签中添加lazy-init="true",则该bean将实现懒加载,该属性没有继承性;
注意:bean标签中设置lazy-init的优先级高于在beans标签中设置default-lazy-init
同样执行上面的代码,由于不会实例化,所以无法调用无参构造方法,结果如下:
在使用该bean对象时才实例化,调用getBean方法,代码如下:
public class Test { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext =new ClassPathXmlApplicationContext("application.xml"); applicationContext.getBean("student"); } }
运行结果:
Spring----懒加载
最新推荐文章于 2025-05-26 16:54:05 发布