Junior — Middle
Springдеги @Bean жана @Component annotations ортосунда кандай айырма бар жана кайсы учурларда колдонуш керек?
sobes.tech AI
AIден жооп
@Component белгиси компонент сканирлөө аркылуу классты автоматтык түрдө аныктоо жана каттоо үчүн колдонулат. Ал түздөн-түз класстын үстүнө колдонулат жана класстын бини болушу керек.
@Bean белгиси @Configuration деп белгиленген класс ичиндеги методго колдонулат. Бул метод Spring тарабынан бини катары катталуучу объектти кайтарат.
Негизги айырмачылыктар:
@Component— автоматтык сканирлөө аркылуу табылган класстар үчүн.@Bean— конфигурациялык класста кол менен бини түзүү үчүн.
Кайсы учурда колдонуу керек:
@Component— класс өзү компонент болуп, автоматтык түрдө табылса.@Bean— сырттан келген классынан бини түзүү керек болсо же объект түзүүдө көбүрөөк логика талап кылынса.
Мисал:
@Component
public class MyService {
// ...
}
@Configuration
public class AppConfig {
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}