Junior — Middle
Czy możesz wyjaśnić koncepcję komponentu w Spring i jak jest on używany w aplikacjach?
sobes.tech AI
Odpowiedź od AI
W Springu komponent to obiekt zarządzany przez kontener Springa (kontener IoC). Adnotacja @Component służy do oznaczenia klasy jako komponentu, aby Spring automatycznie utworzył jego instancję i wstrzyknął zależności.
Komponenty umożliwiają wdrożenie zasady odwrócenia kontroli (IoC) i ułatwiają zarządzanie zależnościami.
Przykład:
import org.springframework.stereotype.Component;
@Component
public class MyService {
public void doWork() {
System.out.println("Praca wykonana");
}
}
Następnie ten komponent można wstrzyknąć do innych klas za pomocą @Autowired:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@Controller
public class MyController {
private final MyService myService;
@Autowired
public MyController(MyService myService) {
this.myService = myService;
}
public void process() {
myService.doWork();
}
}
W ten sposób komponenty upraszczają organizację kodu i zarządzanie zależnościami w aplikacji.