我的 Spring 应用程序和 SonarQube 遇到了问题。SQ 正在用“用“@Autowired”、“@Resource”、“@Inject”或“@Value”注释这个成员,或将其删除。” 在实例变量 mapLoadedByDatabaseCalls 上
示例 1:
@Service
public class Service implements InitializingBean {
@Autowired
private Dao dao;
private Map<Object, Object> mapLoadedByDatabaseCalls;
@Override
public void afterPropertiesSet() throws Exception {
mapLoadedByDatabaseCalls= new HashMap<>(Object.class);
....
}
}
Run Code Online (Sandbox Code Playgroud)
示例 2:
@Service
public class Service {
@Autowired
private Dao dao;
private Map<Object, Object> mapLoadedByDatabaseCalls;
@PostConstruct
private void setMap() {
mapLoadedByDatabaseCalls= new HashMap<>(Object.class);
....
}
}
Run Code Online (Sandbox Code Playgroud)
DI 完成后实例化变量的正确方法是什么?