详细介绍Spring 5的那些新特性与增强『文末送书』
Posted aaaabbbb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详细介绍Spring 5的那些新特性与增强『文末送书』相关的知识,希望对你有一定的参考价值。
Spring支持不同的scope。不同scope在使用上是有差异的,比如singleton与prototype。
问题背景
我们知道,Spring bean 默认的 scope 是 singleton(单例),但有些场景(比如多线程)需要每次调用都生成一个实例,此时 scope 就应该设为 prototype。如:
![技术图片](https://image.cha138.com/20210702/65fa16ba9415419d824b23f3fa3f036c.jpg)
但是,如果 singlton bean 依赖 prototype bean ,通过依赖注入方式, prototype bean 在 singlton bean 实例化时会创建一次(只一次),比如:
![技术图片](https://image.cha138.com/20210702/7a92ad1f366a4c7a901a5435ee64d094.jpg)
我希望调度“Lily” 和 “Lucy” 两个线程,实际上,它只给我初始化一个实例(这样就线程非安全了)。
解决
如果 singlton bean 想每次都去创建一个新的 prototype bean 的实例, 需要通过方法注入的方式。可以通过实现 ApplicationContextAware 接口,来获取到 ApplicationContext 实例,继而通过getBean 方法来获取到 prototypebean 的实例。我们的程序需要修改如下:
![技术图片](https://image.cha138.com/20210702/579824dedc5849b2b18c0dc662882925.jpg)
OK ,问题解决
以上文章均摘自北京大学出版社出版社出版的新书《spring5 开发大全》,作者柳伟卫。关于spring的教程图书,在市面上一直有“spring三剑客在手,天下无忧”之说,指的就是本书以及《spring boot 企业级应用开发实战》《spring cloud微服务架构开发实战》。
一、spring5开发大全
![技术图片](https://image.cha138.com/20210702/7b09696fa74b4f3cb92384c3bd9b8857.jpg)
二、一本书吃透“企业级spring开发”
![技术图片](https://image.cha138.com/20210702/727d7831ed624218a63e3b4ac142e40c.jpg)
三、一本书见微知著,从细节攻破“spring重难点”
![技术图片](https://image.cha138.com/20210702/01e48574d2244afdbc868f82f62e9b3c.jpg)
四、三本书的获取方式,关注公众号获取私信【资料】获取
以上是关于详细介绍Spring 5的那些新特性与增强『文末送书』的主要内容,如果未能解决你的问题,请参考以下文章
我这样回答了Spring 5的新特性,面试官对我刮目相看 | 文末送书