Sobes.tech
Junior — Middle

Czy możesz wymienić adnotacje używane do automatycznego konfigurowania komponentów lub zależności w aplikacji?

sobes.tech AI

Odpowiedź od AI

W Javie często używa się następujących adnotacji do automatycznego konfigurowania komponentów i wstrzykiwania zależności (zwłaszcza w Spring Framework):

  • @Component — oznacza klasę jako komponent, który będzie automatycznie wykryty i zarejestrowany w kontekście.
  • @Service — specjalistyczna wersja @Component dla warstwy serwisowej.
  • @Repository — specjalistyczna wersja @Component dla warstwy dostępu do danych.
  • @Controller — dla kontrolerów w MVC.
  • @Autowired — do automatycznego wstrzykiwania zależności po typie.
  • @Qualifier — określa, który dokładnie bean ma być wstrzyknięty, jeśli jest ich kilka.
  • @Configuration — klasa zawierająca definicje beanów.
  • @Bean — metoda tworząca i zwracająca bean.
  • @ComponentScan — wskazuje pakiety do skanowania komponentów.

Przykład:

@Component
public class UserService {
    @Autowired
    private UserRepository userRepository;

    // ...
}