Définitions de Groovy Bean

1. Vue d'ensemble

Dans cet article rapide, nous allons nous concentrer sur la façon dont nous pouvons utiliser une configuration basée sur Groovy dans nos projets Java Spring.

2. Dépendances

Avant de commencer, nous devons ajouter la dépendance à notre fichier pom.xml . Nous devons également ajouter un plugin pour compiler nos fichiers Groovy.

Ajoutons d'abord la dépendance de Groovy à notre fichier pom.xml :

 org.codehaus.groovy groovy 2.5.10 

Maintenant, ajoutons le plugin:

  //...  org.codehaus.gmavenplus gmavenplus-plugin 1.9.0    addSources addTestSources generateStubs compile generateTestStubs compileTests removeStubs removeTestStubs      

Ici, nous utilisons gmavenplus-plugin avec tous les objectifs.

Les dernières versions de ces bibliothèques sont disponibles sur Maven Central.

3. Définition des haricots

Depuis la version 4, Spring prend en charge les configurations basées sur Groovy. Cela signifie que les classes Groovy peuvent être des Spring beans légitimes.

Pour illustrer cela, nous allons définir un bean en utilisant la configuration Java standard, puis nous allons configurer le même bean en utilisant Groovy. De cette façon, nous pourrons voir la différence.

Créons une classe simple avec quelques propriétés:

public class JavaPersonBean { private String firstName; private String lastName; // standard getters and setters } 

Il est important de se souvenir des getters / setters - ils sont essentiels pour que le mécanisme fonctionne.

3.1. Configuration Java

Nous pouvons configurer le même bean en utilisant une configuration basée sur Java:

@Configuration public class JavaBeanConfig { @Bean public JavaPersonBean javaPerson() { JavaPersonBean jPerson = new JavaPersonBean(); jPerson.setFirstName("John"); jPerson.setLastName("Doe"); return jPerson; } }

3.2. Configuration Groovy

Maintenant, nous pouvons voir la différence lorsque nous utilisons Groovy pour configurer le bean précédemment créé:

beans { javaPersonBean(JavaPersonBean) { firstName = 'John' lastName = 'Doe' } }

Notez qu'avant de définir la configuration des beans, nous devons importer la classe JavaPersonBean. De plus, à l'intérieur du bloc beans , nous pouvons définir autant de beans que nécessaire.

Nous avons défini nos champs comme privés et bien que Groovy donne l'impression d'y accéder directement, il le fait en utilisant les getters / setters fournis.

4. Paramètres de bean supplémentaires

Comme pour la configuration XML et Java, nous pouvons configurer non seulement des beans.

Si nous devons définir un alias pour notre bean, nous pouvons le faire facilement:

registerAlias("bandsBean","bands")

Si nous voulons définir la portée du bean :

{ bean -> bean.scope = "prototype" }

Pour ajouter des rappels de cycle de vie pour notre bean, nous pouvons faire:

{ bean -> bean.initMethod = "someInitMethod" bean.destroyMethod = "someDestroyMethod" }

Nous pouvons également spécifier l'héritage dans la définition du bean:

{ bean-> bean.parent="someBean" }

Enfin, si nous devons importer des beans préalablement définis à partir d'une configuration XML, nous pouvons le faire en utilisant importBeans ():

importBeans("somexmlconfig.xml")

5. Conclusion

Dans ce didacticiel, nous avons vu comment créer des configurations de bean Spring Groovy. Nous avons également couvert la définition de propriétés supplémentaires sur nos beans, telles que leurs alias, portées, parents, méthodes d'initialisation ou de destruction, et comment importer d'autres beans définis par XML.

Bien que les exemples soient simples, ils peuvent être étendus et utilisés pour créer tout type de configuration Spring.

Un exemple de code complet utilisé dans cet article se trouve dans notre projet GitHub. Il s'agit d'un projet Maven, vous devriez donc pouvoir l'importer et l'exécuter tel quel.