Рубрики
Без рубрики

Пример создания автоматического прокси-сервера Spring

– Пример создания автоматического прокси-сервера Spring

Автор оригинала: mkyong.

В примерах AOP прошлой весной – совет , pointcut и советник , вам необходимо вручную создать компонент-посредник (ProxyFactoryBean) для каждого компонента, которому требуется поддержка AOP.

Это неэффективный способ, например, если вы хотите, чтобы все ваши классы DAO в модуле customer реализовали функцию AOP с поддержкой ведения журнала SQL (советую), тогда вам придется вручную создать множество компонентов фабрики прокси, в результате вы просто зальете файл конфигурации компонента тоннами компонентов прокси.

К счастью, Spring поставляется с двумя автоматическими создателями прокси-серверов для автоматического создания прокси-серверов для ваших компонентов.

1. Пример BeanNameAutoProxyCreator

Перед этим вам необходимо вручную создать компонент-посредник (ProxyFactoryBean).



	
		
		
	

	

	

		

		
			
				customerAdvisor
			
		
	

	
		
		
	

И получите боб с бобом с именем прокси “Прокси службы поддержки клиентов”.

	CustomerService cust = (CustomerService)appContext.getBean("customerServiceProxy");

В механизме автоматического прокси-сервера вам просто нужно создать BeanNameAutoProxyCreator и включить все ваши компоненты (через имя компонента или имя регулярного выражения) и “советник” в один блок.



	
		
		
	

	

	
		
		
	

	
		
			
				*Service
			
		
		
			
				customerAdvisor
			
		
	

Теперь вы можете получить боб с помощью оригинального имени “Служба поддержки клиентов”, вы даже не знаете, что этот боб был проксирован.

	CustomerService cust = (CustomerService)appContext.getBean("customerService");

2. Пример DefaultAdvisorAutoProxyCreator по умолчанию

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



	
		
		
	

	

	
		
		
	

       


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

Скачать Исходный Код

Оригинал: “https://mkyong.com/spring/spring-auto-proxy-creator-example/”