Возможно ли использовать имя bean-типа в Autodesk Spring, используя аннотации вместо использования интерфейса BeanNameAware
?Возможно ли продлить имя фасоли весной?
ответ
Невозможно из коробки, вы можете создать собственную аннотацию @BeanNameInjected
и зарегистрировать собственный BeanPostProcessor, чтобы справиться с этим.
Вы можете аннотировать метод set bean setter с @Autowired.
public class SimpleMovieLister {
private MovieFinder movieFinder;
@Autowired
public void setMovieFinder(MovieFinder movieFinder) {
this.movieFinder = movieFinder;
}
// ...
}
Но аргумент 'movieFinder' не является именем компонента! –
Как кто-то упоминал в одном из сообщений, вы можете выполнять любую пост-обработку, связанную с bean-компонентом в обработке почтовых сообщений. но в этом случае вы также должны реализовать этот интерфейс или написать if/else внутри пост-обработки. –
В некоторых случаях вред реализации интерфейсов заключается в введении новых публичных методов, которые не связаны с бизнес-логикой компонента. –
Вы можете использовать аннотация @Component ("beanName"). Или вы решаете другую задачу? – anstarovoyt