Загрузить контекст приложения без использования web.xml - PullRequest
1 голос
/ 11 ноября 2010

Мне было интересно, есть ли способ загрузить контекст приложения Springs без необходимости определять его в web.xml .

Я вижу, вы можете использовать:

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

Но если вы хотите использовать бин, вы должны getBean () , чтобы иметь к нему доступ.Я думаю, что, возможно, мог бы быть способ загрузить контекст программно, как это было бы с определением в web xml, без необходимости вызывать getBean.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

Вы можете использовать:

ctx.getAutowireCapableBeanFactory().autowireBeanProperties(this,
                  AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true);        

... где ctx - это ваш ClassPathXmlApplicationContext, чтобы избежать необходимости когда-либо вызывать getBean () - любые поля bean-компонента Spring в this будут автоматически подключены для вас.

0 голосов
/ 11 ноября 2010

Есть способ.Вам просто нужно прочитать официальную документацию.Соответствующая часть: здесь .

Редактировать : Извините, неправильно прочитал ваш вопрос.Вы можете использовать

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

и загрузить его с помощью ServletContextListener при запуске приложения.Когда ваше приложение запускается, если вы правильно настроили проводку bean-компонента, вам не нужно вызывать getBean () для доступа ко всем вашим bean-компонентам.Рассматривайте это как использование Java SE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...