扫码阅读
手机扫码阅读

Spring5 中更优雅的第三方 Bean 注入

80 2024-11-05

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:Spring5 中更优雅的第三方 Bean 注入
文章来源:
江南一点雨
扫码关注公众号

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注入方式,对于感兴趣的开发者值得一试。

想要了解更多内容?

查看原文:Spring5 中更优雅的第三方 Bean 注入
文章来源:
江南一点雨
扫码关注公众号