Od springa 4.3 nie trzeba dodawać adnotacji @Autowired na konstruktorze (jeśli jest jeden w klasie).
Chciałem się zapytać, czy to jakoś poprawia performance aplikacji?
Czy jeśli mamy 20 klas które mają @Autowired na konstruktorze który i tak jest skanowany przez @Service/@Component, to czy to jest jakiś overhead?
- Rejestracja:prawie 6 lat
- Ostatnio:ponad 4 lata
- Postów:9
- Rejestracja:ponad 10 lat
- Ostatnio:6 miesięcy
- Lokalizacja:Warszawa
- Postów:3573
Przede wszystkim - po co zaśmiecać kod? :)
W przypadku springa istotne jest nie to, że masz adnotację @Autowired
na konstruktorze, ale to, w jaki sposób wstrzykiwane są beany w przypadku wstrzyknięć przez pola. W praktyce spring sprawdza, ile jest konstruktorów w klasie. Jeżeli jest więcej niż jeden, to dopiero wtedy skanuje, pod kątem adnotacji na konstruktorze.
IMO, nie używaj adnotacji @Component
i @Autowired
. Zamiast tego użyj ich w pliku konfiguracyjnym. Dzięki temu twój kod będzie pozbawiony referencji do springa. Co prawda będziesz musiał trochę więcej napisać, ale migracje, chociażby do testów, będą bajecznie proste.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
scibi92