Если я использую интерфейс ApplicationContextAware
для моего bean-компонента, то я получу экземпляр ApplicationContext
в моей bean-компоненте, но что такое практическое использование? зачем нам нужны интерфейсы *Aware
, зачем мне связывать мой код с весной?Практическое использование интерфейса Aware весной
ответ
В соответствии с пружиной doc:
Таким образом, компоненты могут манипулировать программные средства в ApplicationContext, что создал их, через интерфейс ApplicationContext, или путем литья ссылку на известный подкласс этого интерфейса, такие как ConfigurableApplicationContext , который предоставляет дополнительную функциональность . Одним из видов использования будет программный поиск других фасолей . Иногда эта возможность полезна; однако, в общем, вы должны избегать этого, потому что он связывает код с Spring и не следуют стилю «Обращение к управлению», где соавторы предоставляются для beans как свойства. Другие методы ApplicationContext обеспечивает доступ к файловым ресурсам, публикацию событий приложений и доступ к источнику сообщений.
Вы можете иметь ссылку на контекст приложения, если вы хотите опубликовать событие приложения от компонента, или ссылка на MessageSource
предоставленной MessageSourceAware
, если вы хотите, чтобы получить какое-то сообщение.
Но, как упоминает JB Nizet в своем комментарии, обычно есть лучшие альтернативы. Например, вы можете обычно использовать Autowire MessageSource
или ApplicationEventPublisher
и другие компоненты, предоставляемые интерфейсами *Aware
, поэтому, как правило, нет необходимости в реализации этих интерфейсов.
- 1. Практическое использование ApplicationContextAware весной
- 2. Практическое использование событий интерфейса
- 3. Практическое использование композиции и интерфейса в Java?
- 4. Какое использование интерфейса BindingResult весной MVC?
- 5. Каково практическое использование ссылочной переменной интерфейса в C#?
- 6. Powershell: Практическое использование $^и $$?
- 7. Практическое использование Params индексатор
- 8. Практическое использование XML?
- 9. Практическое использование System.WeakReference
- 10. Трехмерные матрицы: практическое использование
- 11. Каково практическое использование семафоров?
- 12. Каково практическое использование Cloning
- 13. Функция друга - практическое использование?
- 14. Практическое использование ContentLoadingProgressBar
- 15. Практическое эффективное использование IBOutletColletion
- 16. Практическое использование вилки join_none
- 17. WPF Туннелирование, практическое использование?
- 18. Практическое использование нечеткой теории?
- 19. Практическое использование cryptico.js
- 20. Практическое использование `foldl`
- 21. Практическое использование для нитей
- 22. Практическое использование сериализации объектов?
- 23. jQuery.map - Практическое использование функции?
- 24. Практическое использование TypedReference
- 25. jQuery .each() - Практическое использование?
- 26. Практическое использование для рекурсии
- 27. Практическое использование карри-функций?
- 28. Это практическое использование услуги?
- 29. Практическое использование рекурсии
- 30. Практическое использование массива bash
javaodc объясняет это: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/ApplicationContextAware.html. Помните, что этот интерфейс очень старый. Большинство случаев, когда это было полезно в прошлом, теперь применимы с лучшими альтернативами. –