Есть ли разница между использованием аннотации @PostConstruct
и объявлением того же метода, что и init-method
в конфигурации Spring XML?Атрибут Spring @PostConstruct vs. init-method
ответ
Практически я не думаю, что есть какая-то разница, но есть приоритеты в том, как они работают. @PostConstruct
, init-method
- это BeanPostProcessors.
@PostConstruct
является JSR-250 аннотации в то время какinit-method
это путь в Spring иметь метод инициализации.- Если у вас есть метод
@PostConstruct
, это будет вызываться первым до вызова методов инициализации. - Если ваш bean реализует InitializingBean и переопределяет
afterPropertiesSet
, то первый@PostConstruct
вызывается, затемafterPropertiesSet
, а затемinit-method
.
Для получения дополнительной информации вы можете проверить Весна reference documentation.
Нет никакой реальной разницы. Это зависит от того, как вы предпочитаете настраивать свою систему, и это вопрос личного выбора. Сам я предпочитаю использовать @PostConstruct
аннотации для своего собственного кода (так как компонент только правильно настроен после вызова метода), и я использую init-method
при создании экземпляров bean-компонентов из библиотек, не поддерживающих Spring (не могут применяться аннотации там, конечно !), но я могу полностью понять людей, желающих сделать все так или иначе.
@postconstruct не является частью весны. Это часть пакета javax. Оба они одинаковы. используя init-метод, нам нужно добавить в xml-файл. Если вы используете добавление @postconstruct в xml, не требуется. Ознакомьтесь с приведенной ниже статьей.
Можете ли вы показать соответствующие части статьи? – segarci
- 1. Spring PostConstruct контейнера
- 2. Spring зависимость @PostConstruct
- 3. Spring JPA Repositories @PostConstruct
- 4. Отметки Spring @PreDestroy и @PostConstruct
- 5. Mockito + Spring + @PostConstruct, ложная ошибка инициализации, почему вызывается @PostConstruct?
- 6. Полимер Дарт @ initMethod не выполняет
- 7. Отключить initMethod для @Bean в тесте
- 8. Как инициализировать конечную переменную Spring @PostConstruct?
- 9. Использование аннотации @PostConstruct в Spring 3.0.0.RC1
- 10. Использование Spring @Lazy и @PostConstruct аннотаций
- 11. Spring @PostConstruct в зависимости от @Profile
- 12. атрибут flash атрибут vs model
- 13. @PostConstruct Annotation и JSF
- 14. PostConstruct вызывается дважды
- 15. Атрибут ролей vs Класс
- 16. Атрибут флагов vs HashSet
- 17. Атрибут размера ввода vs атрибут div width
- 18. Spring MVC List Атрибут
- 19. Класс vs data- vs Пользовательский атрибут
- 20. Являются ли аннотации метода Spring @PostConstruct и @PreDestroy формой АОП?
- 21. Spring: init-method, PostConstruct, afterPropertiesSet: когда использовать один над другим?
- 22. Как контролировать @PostConstruct при тестировании интеграции с использованием Spring
- 23. Как проверить конструктор класса с методом @PostConstruct с использованием Spring?
- 24. кэша Spring с использованием @Cacheable во время @PostConstruct не работает
- 25. Spring Tool Suite - org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
- 26. События Spring vs Аспекты
- 27. propertyfactorybean vs propertyplaceholderconfigurer spring?
- 28. Spring: Singleton VS Prototype
- 29. Spring: @Value vs. @Autowired
- 30. Activiti vs Spring batch
Если фасоль используется более чем один из этих методов, опираясь на порядок инициализации, это будет ужасно сложным и неосновательный. –
@Donal Совершенно верно. Просто предоставлял информацию о том, как это работает. –
Существует важная разница: вам нужно специально настроить Spring для обработки аннотаций, чтобы сделать работу @PostConstruct: http://stackoverflow.com/q/3434377/134898 –