- 用于指定该Bean是否取消预初始化,用于注解类,延迟初始化。
- Spring 容器一般都会在启动的时候实例化所有单实例 bean 。如果我们想要 Spring 在启动的时候延迟加载 bean,即在调用某个 bean 的时候再去初始化,那么就可以使用 @Lazy 注解
- @Lazy注解注解的作用主要是减少springIOC容器启动的加载时间
参数 |
描述 |
value |
true 表示使用 延迟加载, false 表示不使用,默认true |
示例
- Person.java
public class Person{
private String name;
private Integer age;
public Person(){
}
public Person(String name, Integer age){
System.out.println(" 对象被创建了.............");
this.name = name;
this.age = age;
}
}
- LazyConfig.java
//在配置类打上 @Lazy 注解
public class LazyConfig{
@Lazy
@Bean
public Person person(){
return new Person("李四", 55);
}
}
- Test.java
@Test
public void test5(){
ApplicationContext ctx = new AnnotationConfigApplicationContext(LazyConfig.class);
}
运行结果:
- 没有打印语句,对象没有调用构造器,那么方法也就没有被创建。