Сообщения

Показаны сообщения с ярлыком "BeanPostProcessor"

Spring IoC контейнер: точки расширения контейнера, пример использования BeanPostProcessor

Изображение
Этот пример иллюстрирует основное использование BeanPostProcessor . В этом примере показана пользовательская реализация BeanPostProcessor, которая вызывает метод toString() каждого компонента при его создании контейнером и выводит полученную строку в системную консоль. В следующем листинге показано определение пользовательского класса реализации BeanPostProcessor: Java package scripting; import org.springframework.beans.factory.config.BeanPostProcessor; public class InstantiationTracingBeanPostProcessor implements BeanPostProcessor { // просто возвращаем экземпляр объекта как есть public Object postProcessBeforeInitialization(Object bean, String beanName) { return bean; // мы могли бы потенциально вернуть любую ссылку на объект здесь... } public Object postProcessAfterInitialization(Object bean, String beanName) { System.out.println("Bean '" + beanName + "' created : " + bean.toString()); return bean; } }...

Spring IoC контейнер: точки расширения контейнера, BeanPostProcessor

Изображение
Как правило, разработчику приложений не нужно создавать подклассы классов реализации ApplicationContext. Вместо этого контейнер Spring IoC можно расширить, подключив реализации специальных интеграционных интерфейсов. Настройка Beans с помощью BeanPostProcessor Интерфейс BeanPostProcessor определяет методы обратного вызова, которые вы можете реализовать, чтобы предоставить собственную (или переопределить контейнерную логику) реализацию, логику разрешения зависимостей и т. д. Если вы хотите реализовать некоторую пользовательскую логику после того, как контейнер Spring завершит создание экземпляра, настройку и инициализацию компонента, вы можете подключить одну или несколько пользовательских реализаций BeanPostProcessor. Вы можете настроить несколько экземпляров BeanPostProcessor и управлять порядком, в котором эти экземпляры BeanPostProcessor выполняются, установив свойство order. Вы можете установить это свойство, только если BeanPostProcessor реализует интерфейс Ordered. Если вы пи...