2011-02-06 2 views

ответ

96

Предыдущие комментарии в порядке, но я обычно предпочитаю:

@Autowired private ApplicationContext applicationContext; 
+2

+1 Кстати, у вас есть какие-либо идеи о плюсах минусах между инъекционным ApplicationContext непосредственно @Autowired или реализации интерфейса ApplicationContextAware? Благодарю. – Javatar

+8

@Bariscan: Я думаю, что нет никаких плюсов и минусов. Но я предпочитаю это, потому что @ Autowired - это то, что я использую для ввода всех свойств, так что делать это по-другому просто так, это ApplicationContext? – sinuhepop

+0

Можете ли вы представить более подробный пример приложения @Autowired (я большой поклонник)? Для меня это всегда пусто. Нужны ли дополнительные интерфейсы? Спасибо. –

31

Простой, используя интерфейс 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" />