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.