..
온라인 강좌
  • 페이스 북에 우리를 따르라
  • 트위터에 우리를 따르라
  • + Google에 우리를 따르라
  • RSS를 통해 우리를 따르라
  • 귀하의 스마트폰으로 우리를 따라

AOP - 프록시

당신이 그들의 조언과 pointcuts와 vedre 측면을 만드는 방법에 이동하기 전에 프록시 방식을 이해하는 데 매우 중요합니다.
프록시는 단순히 개체를 포함하고 모든 공공 medodi 개체 자체를 드러내는 래퍼 (컨테이너)입니다. 당신이 프록시에 대한 메서드를 호출하면 메서드의 실제 구현함으로써 사용자에게 프록시의 존재가 완전히 투명하게 만드는 wrappato 개체를 위임합니다.
간단한 대의원 방법보다 구현하기 위해 스프링 AOP를 사용하여 프록시는 또한 다양한 경영 조언을 해결합니다.

우리는 프록시가 매우 간단한를 implementandone 역할을하는지 파악할 수 있습니다. 처음에 우리는 간단한 인터페이스를 만들려면 :



 SimpleInterface {공용 인터페이스

	
  

 공공 공극 F1 ();

	
  

 공공 무효 F2 ();



 }

또한 우리는 간단한 구현을 만들려면 :


 SimplePojo {공용 클래스는 SimpleInterface을 구현


  

 @ 무시

  

 공공 공극 F1 () {

    

 System.out.println ( "F1");

    

 F2 ();

  

 }


  

 @ 무시

  

 공공 공극 F2 () {

    

 System.out.println ( "F2");

  

 }



 }

우리는 메소드 F1은 () F2 ()를 호출하게합니다.
자, 이제, 프록시를 만들려면 이미 말했듯이 우리가 컨테이너 개체를 생성해야하고 방법을 모두 노출 후 프록시 인터페이스 SimpleInterface를 구현하고 모든 방법을 실제 객체로 호출을 위임합니다



 SimpleProxy {공용 클래스는 SimpleInterface을 구현


  

 개인 SimpleInterface은 위임;


  

 공공 SimpleProxy (SimpleInterface 대리인) {

    

 슈퍼 ();

    

 this.delegate = 위임;

  

 }


  

 @ 무시

  

 공공 공극 F1 () {

    

 System.out.println ( "위임 F1 ()");

    

 delegate.f1 ();

  

 }


  

 @ 무시

  

 공공 공극 F2 () {

    

 System.out.println ( "F2를 () 위임");

    

 delegate.f2 ();

  

 }



 }

우리의 간단한 예제에서는 않는 프록시 그가 전화를 위임됩니다라는 메시지를 인쇄합니다.

우리는 지금 어떻게 우리의 프록시를 볼 수있는 주요 테스트를 만들려면 :



 공용 클래스 메인 {


  

 공공 정적 무효 메인 (문자열 [] 인수) {

    

 / / 콩의 인스턴스 만들기
 
    

 SimpleInterface realBean = 새로운 SimplePojo ();


    

 System.out.println ( "# # # # # # # # # # 콩");

    

 realBean.f1 ();

    

 System.out.println ();

    

 realBean.f2 ();


    

 System.out.println ();


    

 / / 프록시의 인스턴스 만들기

    

 SimpleInterface 프록시 = 새로운 SimpleProxy (SimplePojo 신규 ());


    

 System.out.println ( "# # # # # # # # # # 프록시");

    

 proxy.f1 ();

    

 System.out.println ();

    

 proxy.f2 ();

  

 }



 }

코드의 첫 번째 블록은 다음과 같은 출력을 제공합니다 :


 # # # # # # # # # # 빈



 F1



 F2




 F2

이제 우리는 두 번째 블록의 출력이 다음과 같은 것을 기대한다 :


 # # # # # # # # # # 프록시



 위임 F1 ()



 F1



 위임 F2 ()



 F2




 위임 F2 ()



 F2

노 Invce! 다음과 같이 출력됩니다 :


 # # # # # # # # # # 프록시



 위임 F1 ()



 F1



 F2




 위임 F2 ()



 F2

우리가 메서드 호출 F1은 ()이라고 볼 수 있듯이 일단 그것이 개체에 대한 모든 내부 통화가 도청되지 않습니다 실제 개체에 메서드의 구현을 위임했기 때문에 메소드 F2 ()는, 프록시를 통해 전달하지 않습니다 프록시에 의해.
달리 조언가 실행되지 않기 때문에 당신이 객체의 다른 방법에 의해 호출되는 방법에 대한 조언을 생성할 수 없습니다 이러한 이유로, 또는 오히려, 이러한 방법은 외부 개체에서 사용하는 경우에만 만들 수 있습니다.
Proxy

코스
리눅스 강좌 리눅스 강좌
오픈 소스 시스템에 완전한 가이드. 39 €부터 시작.
PHP 강좌 PHP 강좌
동적 웹 사이트를 만드는 전체 과정. 49 €부터 시작.
코스 루비와 레일에 루비 코스 루비와 레일에 루비
루비와 RoR로 소프트웨어와 웹 애플 리케이션을 생성. 49 €부터 시작.
개요
광고

cpclubpenguincheatscp.com

광고
회사 소개
미국의 소리 접촉하기
공동 작업
면책 조항
© 2003년에서 2012년까지 cpclubpenguincheatscp.com - 이탈리아 웹마 스터의 포털 - 판권 소유 |에 의해 구동 인터넷 미디어 IKIweb Srl - PIVA 02848390122