spring中@Lazy注解解析
Ioc容器会在启动时实例化所有的Bean对象,所以如果我们要延迟加载某个Bean对象,就要使用@Lazy注解,这样就会在调用对象时才会实例化该对象。
使用方法:
在类上方加入@Lazy或者@@Lazy(value=true)
@Lazy有true和false两个属性,默认为true,表示延时加载
不使用延时加载时,不用加该注解
public class Student {
private String name;
private Integer age;
public Person() {
}
public Student(String name, Integer age) {
System.out.println(" 创建对象");
this.name = name;
this.age = age;
}
}
不加@Lazy注解
public class LazyConfig {
@Bean
public Student student() {
return new Student("张三", 18);
}
}
添加@Lazy注解
public class LazyConfig {
@Lazy
@Bean
public Student student() {
return new Student("张三", 18);
}
}
结果一:输出 创建对象
结果二:没有输出