Как инициировать конкретный Spring Bean при запуске сервера - PullRequest
1 голос
/ 13 января 2012

Я использую некоторые данные поддержки в своем приложении и хочу загрузить эти данные во время запуска сервера.Я использую весенний контекст.Если бы я мог загрузить контекст приложения во время запуска сервера, проблема была бы решена.

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Зарегистрируйте ServletContextListener и получите бин в contextInitialized() ( см. События жизненного цикла сервлета ).

Это имеет два преимущества:

  1. Вы можете получить несколько бинов в заранее определенном порядке (это , если никогда не понадобится, но реальность всегда побеждает)
  2. Это не помешает вашим тестам
2 голосов
/ 13 января 2012

Не уверен насчет детали Spring, так как я не использую ее, но в JSF вы можете использовать @ApplicationScoped @ManagedBean, чей eager attribtue имеет значение true.

@ManagedBean(eager=true)
@ApplicationScoped
public class Data {

    // ...

}

Это автоматически создаст управляемый компонент при запуске веб-приложения.

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