Sobes.tech
Junior

Na čo sa používa anotácia @Bean v Spring?

sobes.tech AI

Odpoveď od AI

Anotácia @Bean sa v rámci Spring Frameworku používa na explicitné deklarovanie samostatného beana (komponentu), ktorý má byť vytvorený a spravovaný kontajnerom IoC Springu.

Hlavné dôvody jej použitia:

  • Integrácia externých knižníc: Umožňuje ľahko integrovať objekty vytvorené externými knižnicami, ktoré nie sú označené anotáciami @Component, @Service, @Repository a pod.
  • Konfigurácia objektov: Poskytuje úplnú kontrolu nad procesom vytvárania objektu, umožňujúc mu odovzdávať závislosti a nastavovať jeho vlastnosti v Java konfigurácii.
  • Viaceré inštancie toho istého triedy: Umožňuje vytvoriť viacero beanov tej istej triedy s rôznymi konfiguráciami.
  • Podmienečné vytváranie beanov: V kombinácii s @Conditional je možné vytvárať beany podľa určitých podmienok.
  • Jasné oddelenie konfigurácie a podnikovej logiky: Konfigurácia aplikácie je sústredená v triedach označených @Configuration, zatiaľ čo podniková logika je v triedach s @Component.

Príklad použitia v triede @Configuration:

// MyConfiguration.java
package com.example;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyConfiguration {

    @Bean
    public MyService myService() {
        // Vytvorenie a konfigurácia objektu Service
        return new MyService();
    }

    @Bean
    public DataSource dataSource() {
        // Vytvorenie a konfigurácia zdroja dát
        // Môže to byť objekt z externej knižnice
        return new com.example.DataSourceImpl();
    }
}