我遇到了我的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仍然會抱怨。 –