Odpowiedzi:
Tak, zgadza się, @Component
to wiosenna fasola i singleton.
Jeśli klasa należy do warstwy usług, możesz @Service
zamiast tego dodać do niej adnotację
Pamiętaj jednak, że aby te adnotacje zostały wykryte, musisz umieścić ten wiersz w applicationContext.xml
:
<context:component-scan base-package="com.yourcompany" />
Informacje o singletonach - wszystkie fasolki jare są domyślnie w zakresie pojedynczych. Jedyną rzeczą, o której musisz pamiętać, jest to, że nie powinieneś przechowywać stanu w zmiennych polowych (powinny one zawierać tylko zależności). Dzięki temu Twoja aplikacja będzie bezpieczna dla wątków i nie będziesz potrzebować za każdym razem nowej instancji komponentu bean. Innymi słowy, Twoje ziarna są bezpaństwowcami.