我遇到了我的Spring应用程序和SonarQube问题。 SQ将用“@Autowired”,“@Resource”,“@Inject”或“@Value”注释此成员,或者将其删除,从而标记两个示例。在实例变量mapLoadedByDatabaseCalls弹簧应用程序SonarQube问题S3749
例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);
....
}
}
例2:
@Service
public class Service {
@Autowired
private Dao dao;
private Map<Object, Object> mapLoadedByDatabaseCalls;
@PostConstruct
private void setMap() {
mapLoadedByDatabaseCalls= new HashMap<>(Object.class);
....
}
}
什么是实例变量DI完成后,正确的方法是什么?
确实推荐@PostConstruct而不是实现InitializingBean,但这不会解决SonarQube问题。 SonarQube仍然会抱怨。 –