Sobes.tech
Junior — Middle

¿Cómo se puede registrar una clase normal como un componente de Spring para su uso como bean?

sobes.tech AI

Respuesta de la IA

Чтобы зарегистрировать обычный класс как компонент Spring и использовать его как bean, можно:

  1. Добавить аннотацию @Component (или её специализированные варианты, например, @Service, @Repository) над классом. Spring автоматически обнаружит такой класс при сканировании компонентов.
import org.springframework.stereotype.Component;

@Component
public class MyService {
    public void doSomething() {
        // логика
    }
}
  1. Убедиться, что пакет с этим классом включён в область сканирования компонентов (через @ComponentScan или настройки в конфигурации).

  2. После этого Spring создаст bean этого класса, и его можно будет внедрять через @Autowired.

Альтернативно, можно зарегистрировать bean программно в конфигурационном классе с помощью метода, аннотированного @Bean:

@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyService();
    }
}

Но чаще всего для простоты и удобства используют аннотацию @Component.