【问题标题】:@Bean(autowire = Autowire.BY_TYPE) is deprecated. What would be alternative?@Bean(autowire = Autowire.BY_TYPE) 已弃用。有什么选择?
【发布时间】:2020-10-28 12:57:24
【问题描述】:

在 sonarqube 中,我在 Bean 类中使用 @Bean(autowire = Autowire.BY_TYPE) 时会产生代码异味。我检查了 Spring 文档,那里也提到了这些信息。但是我没有看到替代方案。

有人可以帮忙消除这种代码异味吗?

【问题讨论】:

    标签: java spring spring-framework-beans


    【解决方案1】:

    autowire 选项现在什么都不做,所以只需将其删除。

    正如the docs 所说:

    自 5.1 起已弃用,因为 @Bean 工厂方法参数解析和 @Autowired 处理基于名称/类型的 bean 属性注入

    【讨论】:

    • 感谢@OrangeDog 的帮助。在将您的答案标记为“已接受”之前,我将在删除代码后对其进行编译。问题是只有在主分支中我们配置了质量门。因此将再次运行构建(在根据您的建议删除后)并检查 sonarqube 是否将其显示为代码气味类型)并将很快更新。我在这里也有一些有趣的对话:github.com/spring-projects/spring-framework/issues/21814
    • 非常感谢@OrangeDog。它工作并且在删除它后没有给出任何错误。将您的答案标记为“已接受”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多