Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Adnotacja @Component jest najbardziej ogólna powoduje, że nasza klasa zostanie przeskanowana przez system i podczas pobierania instancji zostaną załadowane odpowiednie obiekty. Tą adnotacją są oznaczona jest np. klasa ServiceFactory. Przykład:

Code Block
languagejava
titleKlasa z adnotacją @Component
@Component
public class CustomComponent
{
    @Autowired
    private SessionFactory sf;
 
	@Autowired
	private UserService us;
	
	private String customField;
 
	public User getUser(){
		return us.getByUserId("jkowalski");
	}
}

...

Adnotacja @Service ma dokładnie takie samo działanie jak @Component jednak zaleca się jej stosowanie w przypadku klas usług(Service) służących do zarządzania obiektami biznesowymi. Tą adnotacją są oznaczone klasy implementujące interfejsy usług np. UserService, PositionService itd.

Opis użycia adnotacji @Service:

...

@Repository różni się od pozostałych tym, że konwertuje wyjątki rzucone podczas błędu wykonania operacji na bazie danych na standardowy wyjątek z rodziny DataAccessException. Dzięki temu niezależnie od rodzaju bazy danych, sterownika, czy biblioteki jakiej używamy zawsze otrzymamy taki sam wyjątek. Tą adnotacją są oznaczone klasy implementujące interfejsy usług np. UserDao, PositionDao itd.

Opis użycia adnotacji @Repository:

...