Spring permite hacer inyección en las propiedades de los beans definidos dentro del Spring Context, pero que tal si quisiéramos inyectar un método ? para esto Spring también provee dos maneras de hacer la inyección de métodos o method inyection el cual vamos a poner un ejemplo de cómo funciona en ambos casos . Primero veremos el primer method llamado reemplaza miento de método o method replacement (mas adelante posteare la otra forma), Supongamos que tenemos esta clase:
package com.blogspot.snakepitit.beans
public class CajaMagicaImpl implements ICajaMagica {
private String getContenido() {
return “Este es el contenido de la caja de CajaMagicaImpl”;
}
}
En el application context deberíamos definir este bean de la siguiente manera
<bean id="cajita" class="com.blogspot.snakepitit.beans.CajaMagicaImpl">
<replaced-method name="getContenido" target="claseReemplazadora">
</bean>
<bean id="claseReemplazadora" class="com.blogspot.snakepitit.replacers.MiClaseReemplazadora">
Ya con este le decimos que el método getContenido se lo va a dar miClaseReemplazadora y no lo va a tomar desde CajaMagicaImpl, solamente nos faltaría definir miClaseReemplazadora para que quede listo, para que una clase pueda reemplazar un método debe implementar una interfaz de Spring MethodReplacer e implementar el método reimplement de la siguiente manera
package com.blogspot.snakepitit.replacers
public class MiClaseReemplazadora implements MethodReplacer {
public Object reimplement(Object target, Method method, Object[] args) {
return “Este es el contenido de la caja de MiClaseReemplazadora”;
}
}
Solamente con implementar MethodReplacer y definir el replaced-method en el bean que queremos que se inyecte el método estaría funcionando, esperen que dejen sus comentarios a ver que problemas surguieron, para la proxima voy a tratar de explicar el segundo metodo de inyeccion de metodos (getters method)
Mostrando entradas con la etiqueta MethodReplacer. Mostrar todas las entradas
Mostrando entradas con la etiqueta MethodReplacer. Mostrar todas las entradas
martes, 27 de enero de 2009
Suscribirse a:
Entradas (Atom)
