-
什么是懒惰初始化
为了提高性能,默认情况下,Spring在启动时将Bean立即实例化,这样Bean对象就可以立即使用,但也有缺点,如果某个bean很少使用或不适用,立即实例化占用了宝贵的内存资源。
为了解决这个情况,Spring提供了"懒惰初始化"。在使用对象是初始化对象,不使用则不初始化就相当于家里并不是要用冰箱的时候才去买冰箱,而是买好了需要的时候才用。 -
使用
新建Student类
public class Student {
public Student() {
}
@Override
public String toString() {
return "Student";
}
}
config中加载对象,此时添加Lazy注解
@Bean
@Lazy
public Student student(){
System.out.println("加载");
return new Student();
}
测试案例
@Test
public void testStudent(){
// Student student = ctx.getBean("student",Student.class);
// System.out.println(student);
System.out.println("OK");
}
此时没有使用对象,则不加载。解开注解使用组件则可加载。