今天看新工程项目时发现这个注解@Lazy,不明白其意,遂网上搜索,结合实际业务明白了,记录如下。
@Lazy该注解用于标识bean是否需要延迟加载。
通常我们希望某些类在容器启动的时候变将其实例化,实现如下
@Bean
public User getUser(){
return new User("zhangsan",28);
}
但有些时候,我们希望某些类在使用的时候才被实例化,于是用到了@Lazy注解,实现如下
@Lazy
@Bean
public User getUser(){
return new User("zhangsan",28);
}
说明:加上@Lazy注解之后,实现类只会在第一次调用该类时被加载。该注解的作用主要是减少springIOC容器启动的加载时间。