Встречается на собеседованиях • сегодня
Как использовать одну логику для нескольких Bean в Spring
В Spring можно использовать общую логику для нескольких бинов через:
- Наследование - создать абстрактный класс с общей логикой и наследовать его
java
public abstract class CommonLogic {
public void sharedMethod() {
// общая логика
}
}
@Component
public class BeanA extends CommonLogic { ... }
@Component
public class BeanB extends CommonLogic { ... }
text
2. **Композицию** - вынести логику в отдельный компонент и инжектить его
```java
@Component
public class SharedService {
public void sharedMethod() { ... }
}
@Component
public class BeanA {
@Autowired
private SharedService sharedService;
}
@Component
public class BeanB {
@Autowired
private SharedService sharedService;
}- Аспекты (AOP) - если логика кросс-каттинговая (логирование, транзакции)
java
@Aspect
@Component
public class CommonAspect {
@Around("execution(* com.example..*(..))")
public Object applyCommonLogic(ProceedingJoinPoint pjp) throws Throwable {
// общая логика до/после
return pjp.proceed();
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы