2.13 @Lazy注解
戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注
[查看视频教程]
@Lazy注解,是用来配置bean是否延迟加载,默认是true,但是配置了才生效,不配置就不生效。
@Lazy源码:
1 package org.springframework.context.annotation; 2 3 @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.FIELD}) 4 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 5 @java.lang.annotation.Documented 6 public @interface Lazy { 7 boolean value() default true; 8 }
@Lazy可以注解在某个交给spring管理的类上方,也可以注解在@Bean注解的方法上方。作用和配置文件中bean标签的lazy-init属性一致。 主要用于表示这bean是否要延迟实例化。 默认值是true。所以我们一旦配置了@Lazy,那么这个Bean就会延迟加载。 如果不希望延迟加载就可以不配置或者配置之后,将属性value修改为false。
1 @Bean 2 @Lazy(false) 3 public UserService userService(){ 4 return new UserService(); 5 }
1 @Component 2 @Lazy 3 public class AuthorDAO implements IAutorDAO {}
我是戴着假发的程序员,分享技术,分享经验,如果要转载,请注明:出自戴着假发的程序员