Spring getBean на NamedParameterJdbcTemplate занимает много времени

Я столкнулся со странным сценарием с Spring NamedParameterJdbcTemplate. У меня есть установка проекта с context.getBean(), вызывающая Spring NamedParameterJdbcTemplate. Это вызывается как часть начальной настройки с помощью метода @PostConstruct. По сути, метод post-construct вызывает базу данных, чтобы выполнить некоторые настройки, связанные со средой.

Теперь вызов getBean bean-компонента NamedParameterJdbcTemplate занимает много времени - на самом деле, в Eclipse мне пришлось ждать более 5 минут и так и не получить экземпляр. Однако тот же код отлично работает, если я использую @Inject вместо getBean.

Во-вторых, в той же настройке есть компонент для простого JdbcTemplate. Если я получу этот компонент, а затем вызову его с помощью NamedParamJdbcTemplate, проблем нет. Проблема, кажется, только тогда, когда NamedParamJdbcTemplate является первым вызовом bean-компонента.

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

Спасибо, Аравинд

Обычно, когда вы делаете такие вещи, как getBean, вы делаете что-то неправильно. Вместо этого вы должны использовать @Autowired или (как и @Inject). Также, вообще говоря, не должно быть разницы в том, как вы получаете бин. Однако без фактического кода это будет игра в угадывание, поэтому, пожалуйста, добавьте код.

M. Deinum 30.03.2018 07:18
2
1
45
0

Другие вопросы по теме