Назад к вопросам
Junior — Middle
66
Каким образом можно зарегистрировать обычный класс как компонент Spring для использования как bean?
Компании, где спрашивали
Eclipse Digital
Ответ от нейросети
sobes.tech AI
Чтобы зарегистрировать обычный класс как компонент Spring и использовать его как bean, можно:
- Добавить аннотацию
@Component(или её специализированные варианты, например,@Service,@Repository) над классом. Spring автоматически обнаружит такой класс при сканировании компонентов.
import org.springframework.stereotype.Component;
@Component
public class MyService {
public void doSomething() {
// логика
}
}
-
Убедиться, что пакет с этим классом включён в область сканирования компонентов (через
@ComponentScanили настройки в конфигурации). -
После этого Spring создаст bean этого класса, и его можно будет внедрять через
@Autowired.
Альтернативно, можно зарегистрировать bean программно в конфигурационном классе с помощью метода, аннотированного @Bean:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyService();
}
}
Но чаще всего для простоты и удобства используют аннотацию @Component.