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  {}

 

posted @ 2020-10-09 08:05  戴着假发的程序员0-1  阅读(370)  评论(1编辑  收藏  举报