ITKeyword,专注技术干货聚合推荐

注册 | 登录

一分钟学会spring注解之@Lazy注解

知了ing 分享于

2020腾讯云双十一活动,全年最低!!!(领取3500元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1073

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

推荐:十分钟学会初步使用Spring_注解篇

Web.xml配置Springmvc的前端控制器: <!-- ===============Spring================== --> <!-- 配置SpringMVC前端控制器 --> <servlet> <servlet-name>spring

今天主要从以下几方面来介绍一下@Lazy注解 @Lazy注解是什么 @Lazy注解怎么使用

1,@Lazy注解是什么

@Lazy注解用于标识bean是否需要延迟加载,源码如下:

@Target({ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Lazy {

/**

* Whether lazy initialization should occur.

*/

boolean value() default true; }

只有一个参数,默认是true,也就是说只要加了这个注解就会延迟加载

2,@Lazy注解怎么使用

没加注解之前主要容器启动就会实例化bean,如下:

AnnotationConfigApplicationContext applicationContext2 = new AnnotationConfigApplicationContext(MainConfig.class);

创建user实例

而加上@Lazy注解则必须在第一次调用的时候才会加载如下:

推荐:一分钟掌握Spring中bean的生命周期

Spring 中bean 的生命周期短暂吗 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名 只能维持一个实例,

/**

* 定义一个bean对象

* @return

*/

@Scope

@Lazy

@Bean(value="user0",name="user0",initMethod="initUser",destroyMethod="destroyUser")

public User getUser(){

System.out.println("创建user实例");

return new User("张三",26);

}

AnnotationConfigApplicationContext applicationContext2 = new AnnotationConfigApplicationContext(MainConfig.class); User bean2 = applicationContext2.getBean(User.class);

创建user实例 实例1 === User [userName=张三, age=26]

@Lazy注解注解的作用主要是减少springIOC容器启动的加载时间

以上是今天文章的所有内容,欢迎大家吐槽

更多优质文章请关注以下公众号查阅:

推荐:一分钟掌握Spring中bean的生命周期!

Spring 中bean 的生命周期短暂吗 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不

今天主要从以下几方面来介绍一下@Lazy注解 @Lazy注解是什么 @Lazy注解怎么使用   1,@Lazy注解是什么   @Lazy注解用于标识bean是否需要延迟加载,源码如下:     @Target({ElementType.TYPE, El

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。