..


Enlaces patrocinados

AOP - Proxies

Antes de pasar a ver cómo crear puntos de corte con sus aspectos y consejos, es muy importante para entender cómo los apoderados.
Un proxy no es más que una envoltura (contenedor) que contiene un objeto y expone todos los públicos objeto medodi. Cuando se invoca un método en el proxy de la aplicación práctica del método se delega en la envoltura de objetos, con lo que la presencia de la representación totalmente transparente para el usuario.
El proxy utiliza Spring AOP de implementar que los métodos simples delegado también se refieren a consejos de administración diferentes.

Somos conscientes de cómo implementar un proxy muy sencillo. En primer lugar, crear una interfaz sencilla:






 {Public SimpleInterface interfaz



	

  



 public void f1 ();



	

  



 public void f2 ();







 }



se crea incluso una implementación simple:





 SimplePojo {public class SimpleInterface





  



 @ Override



  



 public void f1 () {



    



 System.out.println ("F1");



    



 f2 ();



  



 }





  



 @ Override



  



 public void f2 () {



    



 System.out.println ("F2");



  



 }







 }



Tomamos nota de que el método de f1 () hace una llamada a f2 ().
Ahora vamos a crear el proxy, como ya hemos dicho que necesitamos para crear un contenedor de un objeto y exponer todos sus métodos, el proxy se implementa la interfaz y luego delegado SimpleInterface todas las llamadas a los métodos del objeto real:






 SimpleProxy {public class SimpleInterface





  



 Privado SimpleInterface delegado;





  



 pública SimpleProxy (SimpleInterface delegado) {



    



 super ();



    



 this.delegate = delegado;



  



 }





  



 @ Override



  



 public void f1 () {



    



 System.out.println ("Delegación de F1 ()");



    



 delegate.f1 ();



  



 }





  



 @ Override



  



 public void f2 () {



    



 System.out.println ("Delegación de F2 ()");



    



 delegate.f2 ();



  



 }







 }



En nuestro ejemplo, la representación que hace es imprimir un mensaje que dice que es la delegación de la llamada.

Creamos ahora una prueba principal para ver cómo nuestro proxy:






 público principal la clase {





  



 public static void main (String [] args) {



    



 / / Crear una instancia del bean

 

    



 SimpleInterface realBean SimplePojo = new ();





    



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



    



 realBean.f1 ();



    



 System.out.println ();



    



 realBean.f2 ();





    



 System.out.println ();





    



 / / Crear una instancia del proxy



    



 SimpleInterface SimpleProxy proxy = (nueva SimplePojo ());





    



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



    



 proxy.f1 ();



    



 System.out.println ();



    



 proxy.f2 ();



  



 }







 }



El primer bloque de código da el siguiente resultado:





 ##### Frijol #####







 F1







 F2









 F2



Ahora es de esperar que la salida del segundo bloque es el siguiente:





 ##### ##### Proxy







 F1 delegar ()







 F1







 La delegación de F2 ()







 F2









 La delegación de F2 ()







 F2



Invce no! La salida será de la siguiente manera:





 ##### ##### Proxy







 F1 delegar ()







 F1







 F2









 La delegación de F2 ()







 F2



Como podemos ver la llamada que el método de f1 () es el método de f2 () no pasa por el proxy, porque una vez que han delegado la ejecución del método al objeto real todas las llamadas internas no pueda ser interceptada por poder.
Por esta razón no se puede crear asesoramiento sobre los métodos que se llaman desde otros métodos del objeto, o mejor dicho, sólo puede crearse si estos métodos son utilizados por los objetos externos, porque de lo contrario el consejo no se ejecuta.
Proxy

Primavera Guía Java
E-Learning
Linux (Curso) Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €.
PHP (Curso) PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €.
Ruby y Ruby on Rails (Curso) Ruby y Ruby on Rails (Curso)
Crear aplicaciones de software y la Web con Ruby y RoR. A partir de 39 €.
Enlaces patrocinados