2012-01-27 7 views

Respuesta

6

El lenguaje de programación Java no tiene una construcción para hacer esto. Sin embargo, puede hacerlo con uno de los paquetes AOP (Programación Orientada a Aspectos), como AspectJ.
En particular, este hilo puede ser un buen punto de partida sobre cómo lograr esto:

http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg09939.html

Mi opinión personal, sin embargo, es que la mayoría de las veces AOP es una exageración miedo.

ACTUALIZACIÓN: Oh, here's una manera más fácil utilizando Spring AOP, suponiendo que puede utilizar Spring. En general, Spring es mucho más fácil de usar que el puro AspectJ.

+0

Scary Overkill? ¿Podrías explicar eso un poco? –

+2

Bueno, básicamente estás modificando el comportamiento de tu programa a través de un mecanismo completamente externo al idioma y tu código fuente. Soy cauteloso de cosas como esas. Hacen que depurar y leer el código fuente (especialmente sin IDE con AOP) sea un proceso mucho más desafiante. –

3

No hay una forma genérica incorporada en el lenguaje en sí. Sin embargo, hay algunas cosas que podrían habitación sus necesidades:

  1. Su IDE puede tener macros para generar un println
  2. Si sólo está interesado en los argumentos de dumping a través de alguna capa, y todas las invocaciones son a través de métodos de interfaz, puede usar Java Proxies.
  3. Usted puede utilizar alguna manipulación de código de bytes, o bien después de compilación o durante la carga de clase
  4. dejar que alguien haga el trabajo duro de # 3, y aprender a sí mismo AOP
Cuestiones relacionadas