扫码阅读
手机扫码阅读
Spring5 中更优雅的第三方 Bean 注入
43 2024-11-05
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
江南一点雨
扫码关注公众号
TienChin视频项目已完成,使用了Spring Boot和Vue3技术栈。小伙伴们可以通过点击链接获取配套视频,跟着松哥一起完成一个项目。
当使用Spring容器时,可以通过三种方式配置特殊的Bean:静态工厂方法、实例工厂方法和FactoryBean。从Spring5开始,AbstractBeandefinition类中加入了setInstanceSupplier方法,为特殊Bean的配置提供了更多选择。
对于如OkHttp这样的网络请求工具,传统的解决方案包括静态工厂方法和实例工厂方法。静态工厂方法不需要实例就可以调用,而实例工厂方法需要先创建实例。FactoryBean是第三种解决方案,可以生成单例Bean。
然而,传统方案中的静态和实例工厂方法在Spring中都是通过反射调用的,这可能会影响性能。Spring5提供的Supplier接口回调获取Bean实例的方法性能更好。
Spring5通过setInstanceSupplier方法设置回调,可以使用Lambda表达式进一步简化代码。在Spring源码中,创建Bean实例时会处理Supplier的情况,从而调用自定义的方法获取实例。
Spring5开始结合Lambda表达式提供了一种新的Bean注入方式,对于感兴趣的开发者值得一试。
想要了解更多内容?
文章来源:
江南一点雨
扫码关注公众号
江南一点雨的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线