Middle
Jaký je rozdíl mezi konfigurací a komponentou?
sobes.tech AI
Odpověď od AI
Konfigurace určuje, jak mají být komponenty vytvářeny, nakonfigurovány a propojeny. Komponenta je instance třídy, která představuje samostatný funkční blok v aplikaci, řízený Springem.
Pomocí konfigurace (například třídy označené @Configuration nebo XML souboru) deklarujeme beany (@Bean), uvádíme jejich závislosti a rozsah. Spring kontejner pak tuto konfiguraci používá k vytváření a správě životního cyklu těchto beanů-komponent.
Příklad:
// src/main/java/com/example/app/config/AppConfig.java
package com.example.app.config;
import com.example.app.service.MyService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration // Třída konfigurace
public class AppConfig {
@Bean // Deklarace beanu (komponenty) MyService
public MyService myService() {
return new MyService(); // Vytvoření instance komponenty
}
}
// src/main/java/com/example/app/service/MyService.java
package com.example.app.service;
// Komponent (bean) definovaný v konfiguraci
public class MyService {
public void doSomething() {
System.out.println("MyService dělá něco.");
}
}
V tomto příkladu je AppConfig konfigurace a instance třídy MyService, vytvořená metodou myService(), je komponenta (bean). Konfigurace popisuje, jak vytvořit a poskytnout MyService.