Definizioni di Groovy Bean

1. Panoramica

In questo rapido articolo, ci concentreremo su come possiamo utilizzare una configurazione basata su Groovy nei nostri progetti Java Spring.

2. Dipendenze

Prima di iniziare, dobbiamo aggiungere la dipendenza al nostro file pom.xml . Abbiamo anche bisogno di aggiungere un plugin per compilare i nostri file Groovy.

Aggiungiamo prima la dipendenza per Groovy al nostro file pom.xml :

 org.codehaus.groovy groovy 2.5.10 

Ora aggiungiamo il plugin:

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

Qui usiamo il plugin gmavenplus con tutti gli obiettivi.

Le ultime versioni di queste librerie possono essere trovate su Maven Central.

3. Definizione di fagioli

Dalla versione 4, Spring fornisce supporto per le configurazioni basate su Groovy. Ciò significa che le classi Groovy possono essere legittime Spring Bean.

Per illustrare ciò, definiremo un bean utilizzando la configurazione standard di Java e quindi configureremo lo stesso bean utilizzando Groovy. In questo modo potremo vedere la differenza.

Creiamo una semplice classe con alcune proprietà:

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

È importante ricordare i getter / setter: sono fondamentali per il funzionamento del meccanismo.

3.1. Configurazione Java

Possiamo configurare lo stesso bean utilizzando una configurazione basata su Java:

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

3.2. Configurazione Groovy

Ora, possiamo vedere la differenza quando usiamo Groovy per configurare il bean creato in precedenza:

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

Si noti che prima di definire la configurazione dei bean, è necessario importare la classe JavaPersonBean. Inoltre, all'interno del blocco dei bean , possiamo definire tutti i bean di cui abbiamo bisogno.

Abbiamo definito i nostri campi come privati ​​e sebbene Groovy dia l'impressione di accedervi direttamente, lo fa utilizzando getter / setter forniti.

4. Impostazioni aggiuntive dei fagioli

Come con la configurazione basata su XML e Java, possiamo configurare non solo i bean.

Se dobbiamo impostare un alias per il nostro bean, possiamo farlo facilmente:

registerAlias("bandsBean","bands")

Se vogliamo definire l' ambito del bean :

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

Per aggiungere callback del ciclo di vita per il nostro bean, possiamo fare:

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

Possiamo anche specificare l'ereditarietà nella definizione del bean:

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

Infine, se dobbiamo importare alcuni bean definiti in precedenza da una configurazione XML, possiamo farlo utilizzando importBeans ():

importBeans("somexmlconfig.xml")

5. conclusione

In questo tutorial, abbiamo visto come creare configurazioni di bean Spring Groovy. Abbiamo anche trattato l'impostazione di proprietà aggiuntive sui nostri bean come i loro alias, ambiti, genitori, metodi di inizializzazione o distruzione e come importare altri bean definiti da XML.

Sebbene gli esempi siano semplici, possono essere estesi e utilizzati per creare qualsiasi tipo di configurazione Spring.

Un codice di esempio completo utilizzato in questo articolo può essere trovato nel nostro progetto GitHub. Questo è un progetto Maven, quindi dovresti essere in grado di importarlo ed eseguirlo così com'è.