2009-04-01 4 views
4

Если у меня есть отдельное основное приложение. Скажите 20 классов. Все они могут в любой момент взаимодействовать с компонентами, определенными конфигурацией пружины (ApplicationContext). Я бы загрузил контекст приложения classpath в основной точке ввода приложения. Но как вы повторно используете уже созданные экземпляры?Простая Spring, использование ClasspathApplicationContext для автономных приложений, как их использовать повторно?

Например, это плохой подход к настройке ClasspathApplicationContext как одноэлементного, но это была бы идея.

Я думал, что видел GlobalContextLocator или что-то в этом роде, но не видел примера о том, как его использовать.

ответ

4

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

http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#context-introduction

и конкретные классы, которые вы должны смотреть на это SingletonBeanFactoryLocator и ContextSingletonBeanFactoryLocator.

Если вы используете SingletonBeanFactoryLocator вы можете использовать следующие для поиска бобы:

BeanFactoryLocator bfl = SingletonBeanFactoryLocator.getInstance(); 
BeanFactoryReference bf = bfl.useBeanFactory("com.mycompany.myapp"); 
MyClass zed = bf.getFactory().getBean("mybean"); 

Существует очень хорошее объяснение этого подробно в Javadocs:

http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/beans/factory/access/SingletonBeanFactoryLocator.html

Также , чтобы быть понятным, убедитесь, что файл конфигурации находится в вашем пути к классу для вашего приложения, иначе поиск не удастся.

 Смежные вопросы

  • Нет связанных вопросов^_^