Как внедрить сам ApplicationContext - PullRequest
59 голосов
/ 06 февраля 2011

Я хочу добавить ApplicationContext в боб.

Что-то вроде

public void setApplicationContext(ApplicationContect context) {
  this.context = context;
}

Возможно ли это весной?

Ответы [ 3 ]

114 голосов
/ 07 февраля 2011

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

@Autowired private ApplicationContext applicationContext;
38 голосов
/ 06 февраля 2011

Легко, используя интерфейс ApplicationContextAware.

public class A implements ApplicationContextAware {
  private ApplicationContext context;

  public void setApplicationContext(ApplicationContext context) {
      this.context = context;
  }
}

Тогда в вашем фактическом applicationContext вам нужно только сослаться на ваш компонент.

<bean id="a" class="com.company.A" />
12 голосов
/ 06 февраля 2011

Да, просто реализуйте ApplicationContextAware -интерфейс.

...