首页 > 解决方案 > 如何在没有 Sonarqube 问题的情况下在 spring 中自动连接静态字段?

问题描述

我从这个解决方案中知道我可以在春天自动装配静态字段。

@Component
public class AdminUtil {

    private static IAirportService airportService;

    @Autowired
    public AdminUtil(IAirportService portService) {
        AdminUtil.airportService = portService;
    }

    ...

 }

但声纳说:静态字段不应该在构造函数中更新RSPEC-3010

有没有其他方法可以在春季自动装配静态字段?还是我忽略了这一点?

标签: javaspringdependency-injectionsonarqubeautowired

解决方案


Spring 的想法是Components 默认实例化一次并在整个应用程序中重用。只要组件不保持状态,就应该保存它。考虑到您的代码示例,最简单的解决方案是不进行airportService静态处理。


推荐阅读