Я хочу вставить сам ApplicationContext
в bean-компонент.Как вводить сам ApplicationContext
Что-то вроде
public void setApplicationContext(ApplicationContect context) {
this.context = context;
}
Это возможно весной?
Я хочу вставить сам ApplicationContext
в bean-компонент.Как вводить сам ApplicationContext
Что-то вроде
public void setApplicationContext(ApplicationContect context) {
this.context = context;
}
Это возможно весной?
Предыдущие комментарии в порядке, но я обычно предпочитаю:
@Autowired private ApplicationContext applicationContext;
Простой, используя интерфейс ApplicationContextAware
.
public class A implements ApplicationContextAware {
private ApplicationContext context;
public void setApplicationContext(ApplicationContext context) {
this.context = context;
}
}
Тогда в вашем фактическом приложенииContext вам нужно всего лишь обратиться к своему компоненту.
<bean id="a" class="com.company.A" />
Да, просто внесите -interface.
+1 Кстати, у вас есть какие-либо идеи о плюсах минусах между инъекционным ApplicationContext непосредственно @Autowired или реализации интерфейса ApplicationContextAware? Благодарю. – Javatar
@Bariscan: Я думаю, что нет никаких плюсов и минусов. Но я предпочитаю это, потому что @ Autowired - это то, что я использую для ввода всех свойств, так что делать это по-другому просто так, это ApplicationContext? – sinuhepop
Можете ли вы представить более подробный пример приложения @Autowired (я большой поклонник)? Для меня это всегда пусто. Нужны ли дополнительные интерфейсы? Спасибо. –