Sonar – S3749

Sonar – Annotate this member with "@Autowired", "@Resource", "@Inject", or "@Value", or remove it

V případě třídních proměnných.

Pokud je třída, kterou touto cestou voláte, @Component, @Controller,@Service a nebo @Repository pak nic nebrání tomu přidat odpovídající anotaci. Jsou apriorně singleton. Pokud se o ně nejedná, tak cesta vede skrze „static“.

Například:

private static DateTimeFormatter msgDateFormat = DateTimeFormatter.ofPattern("MMddHHmmss").withZone(ZoneId.of("GMT"));

Pozor u použití u třídy Random. Ta sama o sobě není statickou, zachovává „stav“, který zahrnuje informaci o tom, kde se v dané sequenci nachází. Takže její použití jako „static“ z ní udělá na úrovni třídy de facto singleton a je otázka jestli to odpovídá v konkrétním případě požadovanému chování/generování náhodných čísel.