Sobes.tech
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.