<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=195.77.63.25</id>
		<title>Dos Ideas. - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=195.77.63.25"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Especial:Contribuciones/195.77.63.25"/>
		<updated>2026-09-16T08:03:42Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Groovy_Con_Spring&amp;diff=6096</id>
		<title>Groovy Con Spring</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Groovy_Con_Spring&amp;diff=6096"/>
				<updated>2011-08-24T13:46:50Z</updated>
		
		<summary type="html">&lt;p&gt;195.77.63.25: /* Ver también */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Framework]] tiene soporte para integrar [[Groovy]] como un bean normal más. Además de [[Groovy]], es posible integrar otros lenguajes dinámicos, como JRuby y BeanShell. &lt;br /&gt;
&lt;br /&gt;
==Librerías necesarias==&lt;br /&gt;
Se deben incluir las siguientes librerias: &lt;br /&gt;
* groovy-1.0.jar&lt;br /&gt;
* asm-2.2.2.jar&lt;br /&gt;
* antlr-2.7.6.jar&lt;br /&gt;
&lt;br /&gt;
Todas vienen junto a la distribución de Groovy.&lt;br /&gt;
&lt;br /&gt;
==Ejemplo==&lt;br /&gt;
En este ejemplo crearemos una interfaz en [[Java]], la implementaremos en Groovy, y la declareremos como un bean más en Spring. &lt;br /&gt;
===El código===&lt;br /&gt;
Necesitamos crear 3 archivos: &lt;br /&gt;
* La interfaz ''Mensajero.java''&lt;br /&gt;
* La implementación en groovy ''MensajeroImpl.groovy''&lt;br /&gt;
* La configuración de Spring&lt;br /&gt;
&lt;br /&gt;
==== La interfaz: Mensajero.java ====&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
package com.dosideas.dynlang;&lt;br /&gt;
&lt;br /&gt;
public interface Mensajero {&lt;br /&gt;
    String decirHola(String nombre);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== El script de implementación: MensajeroImpl.groovy ====&lt;br /&gt;
&amp;lt;code groovy&amp;gt;&lt;br /&gt;
package com.dosideas.dynlan.groovy;&lt;br /&gt;
&lt;br /&gt;
import com.dosideas.dynlang.Mensajero&lt;br /&gt;
&lt;br /&gt;
class MensajeroImpl implements Mensajero {&lt;br /&gt;
&lt;br /&gt;
    String decirHola(String nombre) {&lt;br /&gt;
         &amp;quot;Hola, &amp;quot; + nombre;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración de Spring: applicacion.xml ====&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;beans xmlns=&amp;quot;http://www.springframework.org/schema/beans&amp;quot;&lt;br /&gt;
       xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
       xmlns:lang=&amp;quot;http://www.springframework.org/schema/lang&amp;quot;&lt;br /&gt;
       xsi:schemaLocation=&amp;quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;br /&gt;
       http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;lang:groovy id=&amp;quot;mensajero&amp;quot; &lt;br /&gt;
        script-source=&amp;quot;classpath:MensajeroImpl.groovy&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/beans&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Crearemos un test que ejecute esta lógica. Accedemos directamente al bean ''mensajero'', como si fuera un bean normal. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@RunWith(SpringJUnit4ClassRunner.class)&lt;br /&gt;
@ContextConfiguration(locations = {&lt;br /&gt;
    &amp;quot;/application.xml&amp;quot;&lt;br /&gt;
})&lt;br /&gt;
public class MensajeroTest {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private Mensajero instance;&lt;br /&gt;
&lt;br /&gt;
    @Test&lt;br /&gt;
    public void decirHola() throws InterruptedException {&lt;br /&gt;
        String nombre = &amp;quot;Zim&amp;quot;;&lt;br /&gt;
        String result = instance.decirHola(nombre);&lt;br /&gt;
        String expResult = &amp;quot;Hola, &amp;quot; + nombre;&lt;br /&gt;
        assertEquals(expResult, result);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cambios en caliente ==&lt;br /&gt;
Es posible hacer que el script sea modificado y recompilado &amp;quot;en caliente&amp;quot;. Es decir, teniendo a nuestra aplicación corriendo, podemos modificar la lógica del script y la misma comenzará a ejecutarse en caliente, sin necesidad de ningún otro cambio. Esta es sin dudas una de las características más interesantes de usar lenguajes dinámicos con Java.&lt;br /&gt;
&lt;br /&gt;
Para activar esta característica hay que usar el atributo ''refresh-check-delay'' al momento de declarar el bean en Spring, el cual le indicará cada cuántos milisegundos debe buscar cambios en el script. Por ejemplo: &lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
    &amp;lt;lang:groovy id=&amp;quot;messenger&amp;quot; &lt;br /&gt;
        script-source=&amp;quot;classpath:Messenger.groovy&amp;quot; &lt;br /&gt;
        refresh-check-delay=&amp;quot;1000&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Groovy]]&lt;br /&gt;
* [http://www.dosideas.com/descargas/category/2-spring-framework.html?download=13%3Agroovy-con-spring Descargar proyecto de ejemplo de integración entre Groovy y Spring]&lt;br /&gt;
* [http://static.springframework.org/spring/docs/2.0.x/reference/dynamic-language.html Manual de Spring, Dynamic language support ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Spring Framework]]&lt;br /&gt;
[[Category: Groovy]]&lt;/div&gt;</summary>
		<author><name>195.77.63.25</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Groovy_Con_Spring&amp;diff=6095</id>
		<title>Groovy Con Spring</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Groovy_Con_Spring&amp;diff=6095"/>
				<updated>2011-08-24T13:38:11Z</updated>
		
		<summary type="html">&lt;p&gt;195.77.63.25: /* Ver también */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Framework]] tiene soporte para integrar [[Groovy]] como un bean normal más. Además de [[Groovy]], es posible integrar otros lenguajes dinámicos, como JRuby y BeanShell. &lt;br /&gt;
&lt;br /&gt;
==Librerías necesarias==&lt;br /&gt;
Se deben incluir las siguientes librerias: &lt;br /&gt;
* groovy-1.0.jar&lt;br /&gt;
* asm-2.2.2.jar&lt;br /&gt;
* antlr-2.7.6.jar&lt;br /&gt;
&lt;br /&gt;
Todas vienen junto a la distribución de Groovy.&lt;br /&gt;
&lt;br /&gt;
==Ejemplo==&lt;br /&gt;
En este ejemplo crearemos una interfaz en [[Java]], la implementaremos en Groovy, y la declareremos como un bean más en Spring. &lt;br /&gt;
===El código===&lt;br /&gt;
Necesitamos crear 3 archivos: &lt;br /&gt;
* La interfaz ''Mensajero.java''&lt;br /&gt;
* La implementación en groovy ''MensajeroImpl.groovy''&lt;br /&gt;
* La configuración de Spring&lt;br /&gt;
&lt;br /&gt;
==== La interfaz: Mensajero.java ====&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
package com.dosideas.dynlang;&lt;br /&gt;
&lt;br /&gt;
public interface Mensajero {&lt;br /&gt;
    String decirHola(String nombre);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== El script de implementación: MensajeroImpl.groovy ====&lt;br /&gt;
&amp;lt;code groovy&amp;gt;&lt;br /&gt;
package com.dosideas.dynlan.groovy;&lt;br /&gt;
&lt;br /&gt;
import com.dosideas.dynlang.Mensajero&lt;br /&gt;
&lt;br /&gt;
class MensajeroImpl implements Mensajero {&lt;br /&gt;
&lt;br /&gt;
    String decirHola(String nombre) {&lt;br /&gt;
         &amp;quot;Hola, &amp;quot; + nombre;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración de Spring: applicacion.xml ====&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;beans xmlns=&amp;quot;http://www.springframework.org/schema/beans&amp;quot;&lt;br /&gt;
       xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
       xmlns:lang=&amp;quot;http://www.springframework.org/schema/lang&amp;quot;&lt;br /&gt;
       xsi:schemaLocation=&amp;quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;br /&gt;
       http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd&amp;quot;&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;lang:groovy id=&amp;quot;mensajero&amp;quot; &lt;br /&gt;
        script-source=&amp;quot;classpath:MensajeroImpl.groovy&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/beans&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Crearemos un test que ejecute esta lógica. Accedemos directamente al bean ''mensajero'', como si fuera un bean normal. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@RunWith(SpringJUnit4ClassRunner.class)&lt;br /&gt;
@ContextConfiguration(locations = {&lt;br /&gt;
    &amp;quot;/application.xml&amp;quot;&lt;br /&gt;
})&lt;br /&gt;
public class MensajeroTest {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private Mensajero instance;&lt;br /&gt;
&lt;br /&gt;
    @Test&lt;br /&gt;
    public void decirHola() throws InterruptedException {&lt;br /&gt;
        String nombre = &amp;quot;Zim&amp;quot;;&lt;br /&gt;
        String result = instance.decirHola(nombre);&lt;br /&gt;
        String expResult = &amp;quot;Hola, &amp;quot; + nombre;&lt;br /&gt;
        assertEquals(expResult, result);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cambios en caliente ==&lt;br /&gt;
Es posible hacer que el script sea modificado y recompilado &amp;quot;en caliente&amp;quot;. Es decir, teniendo a nuestra aplicación corriendo, podemos modificar la lógica del script y la misma comenzará a ejecutarse en caliente, sin necesidad de ningún otro cambio. Esta es sin dudas una de las características más interesantes de usar lenguajes dinámicos con Java.&lt;br /&gt;
&lt;br /&gt;
Para activar esta característica hay que usar el atributo ''refresh-check-delay'' al momento de declarar el bean en Spring, el cual le indicará cada cuántos milisegundos debe buscar cambios en el script. Por ejemplo: &lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
    &amp;lt;lang:groovy id=&amp;quot;messenger&amp;quot; &lt;br /&gt;
        script-source=&amp;quot;classpath:Messenger.groovy&amp;quot; &lt;br /&gt;
        refresh-check-delay=&amp;quot;1000&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Groovy]]TONTO&lt;br /&gt;
* [http://www.dosideas.com/descargas/category/2-spring-framework.html?download=13%3Agroovy-con-spring Descargar proyecto de ejemplo de integración entre Groovy y Spring]&lt;br /&gt;
* [http://static.springframework.org/spring/docs/2.0.x/reference/dynamic-language.html Manual de Spring, Dynamic language support ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Spring Framework]]&lt;br /&gt;
[[Category: Groovy]]&lt;/div&gt;</summary>
		<author><name>195.77.63.25</name></author>	</entry>

	</feed>