spring注解配置bean的初始化和销毁方法是什么


这篇文章主要讲解了“spring注解配置bean的初始化和销毁方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“spring注解配置bean的初始化和销毁方法是什么”吧!当spring完成bean的属性赋值之后,就会执行bean的初始化方法,而当spring要销毁bean实例的时候,也会调用bean的销毁方法。我们可以在初始化方法中做一些资源加载的操作,比如缓存数据到redis。而在销毁方法中,可以做一些资源释放的操作,比如删除redis缓存数据、释放数据库连接等。由于我们现在很少写spring的xml文件,所以这次就讲解通过注解的方式来指定bean的初始化方法和销毁方法。我们先定义如下的配置类、业务服务类和单元测试方法,供后面测试使用。单元测试方法如下:我们在配置类中使用@Bean注解生成bean实例的时候,可以使用@Bean注解的initMethod属性指定初始化方法,initMethod的值是目标bean对应的类中的方法名,当spring完成bean的属性赋值之后,就会执行initMethod对应的这个方法。修改RedisService服务类内容如下,增加自定义的initMethod方法:修改InitConfig配置类如下,指定@Bean注解的initMethod属性值为RedisService类中的initMethod方法:最后执行testInitAndDestroyConfig单元测试方法,得出如下结果:@PostConstruct注解用于在bean完成依赖注入(属性赋值)之后需要执行的方法上,它是被用在bean对应的类中定义的方法,而且一个类中只能有一个方法被标记@PostConstruct注解。只要方法所属的类不是拦截器类而且方法本身无参且没有返回值,那就可以在这个方法上面使用@PostConstruct注解。(如果方法所属类的是拦截器类,在满足一定的要求时也可以使用@PostConstruct注解,但这种情况很少使用,所以此处先不提。)我们保持InitConfig类不变,修改RedisService类内容如下:最后执行testInitAndDestroyConfig单元测试方法,得出如下结果:可以看出,标记@PostConstruct注解的方法要比@Bean注解的InitMethod属性指定的方法先执行。InitializingBean接口只有一个afterPropertiesSet方法,假如一个bean完成了属性赋值,并且这个bean对应的类实现了该接口,spring就会调用afterPropertiesSet方法。我们继续在前两步的基础上进行修改,保持InitConfig类不变,修改RedisService类如下:最后执行单元测试,得出结果如下:bean的初始化方法调用位于bean的属性赋值之后,我们可以同时使用以上三种方式来指定bean的初始化方法,而且执行顺序如下:我们在配置类中使用@Bean注解生成bean实例的时候,可以使用@Bean注解的destroyMethod属性指定bean的销毁方法,destroyMethod的值是目标bean对应的类中的方法名,当spring完成bean的属性赋值之后,就会执行destroyMethod对应的这个方法。我们修改RedisService服务类内容如下,增加自定义的destroyMethod方法:修改InitConfig配置类如下,指定@Bean注解的destroyMethod属性值为RedisService类中的destroyMethod方法:最后执行testInitAndDestroyConfig单元测试方法,得出如下结果:@PreDestroy注解用于在bean被销毁时需要执行的方法上,它是被用在bean对应的类中定义的方法,而且一个类中只能有一个方法被标记@PreDestroy注解。只要方法所属的类不是拦截器类而且方法本身无参且没有返回值,那就可以在这个方法上面使用@PreDestroy注解。(如果方法所属类的是拦截器类,在满足一定的要求时也可以使用@PreDestroyt注解,但这种情况很少使用,所以此处先不提。)我们保持InitConfig类不变,修改RedisService类内容如下:最后执行testInitAndDestroyConfig单元测试方法,得出如下结果:可以看出,标记@PreDestroy注解的方法要比@Bean注解的destroyMethod属性指定的方法先执行。DisposableBean接口只有一个destroy方法,假如一个bean对应的类实现了该接口,spring在bean(或容器)销毁时就会调用destroy方法。我们继续在前面代码的基础上进行修改,保持InitConfig类不变,修改RedisService类如下:最后执行单元测试,得出结果如下:感谢各位免费云主机域名的阅读,以上就是“spring注解配置bean的初始化和销毁方法是什么”的内容了,经过本文的学习后,相信大家对spring注解配置bean的初始化和销毁方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: Python中的Array模块如何使用

本篇内容主要讲解“Python中的Array模块如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的Array模块如何使用”吧! Python中的array模块是一个预定义的数组,因此其在内存中占…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/07 20:21
Next 07/07 20:21

相关推荐