Groovy Bean Definities

1. Overzicht

In dit korte artikel zullen we ons concentreren op hoe we een op Groovy gebaseerde configuratie kunnen gebruiken in onze Java Spring-projecten.

2. Afhankelijkheden

Voordat we beginnen, moeten we de afhankelijkheid toevoegen aan onze pom.xml het dossier. We moeten ook een plug-in toevoegen om onze Groovy-bestanden te compileren.

Laten we eerst de afhankelijkheid voor Groovy toevoegen aan onze pom.xml het dossier:

 org.codehaus.groovy groovy 2.5.10 

Laten we nu de plug-in toevoegen:

  // ... org.codehaus.gmavenplus gmavenplus-plugin 1.9.0 addSources addTestSources genererenStubs compileren genererenTestStubs compilerenTests removeStubs removeTestStubs 

Hier gebruiken we gmavenplus-plugin met alle doelen.

De nieuwste versies van deze bibliotheken zijn te vinden op Maven Central.

3. Bonen definiëren

Sinds versie 4 biedt Spring ondersteuning voor op Groovy gebaseerde configuraties. Dit betekent dat Groovy-lessen kunnen legitieme voorjaarsbonen zijn.

Om dit te illustreren, gaan we een bean definiëren met behulp van de standaard Java-configuratie en vervolgens gaan we dezelfde bean configureren met Groovy. Op deze manier kunnen we het verschil zien.

Laten we een eenvoudige klasse maken met een paar eigenschappen:

openbare klasse JavaPersonBean {private String firstName; private String achternaam; // standaard getters en setters} 

Het is belangrijk om te onthouden over getters / setters - ze zijn cruciaal om het mechanisme te laten werken.

3.1. Java-configuratie

We kunnen dezelfde bean configureren met behulp van een op Java gebaseerde configuratie:

@Configuration openbare klasse JavaBeanConfig {@Bean openbare JavaPersonBean javaPerson () {JavaPersonBean jPerson = nieuwe JavaPersonBean (); jPerson.setFirstName ("John"); jPerson.setLastName ("Doe"); terug jPerson; }}

3.2. Groovy configuratie

Nu kunnen we het verschil zien wanneer we Groovy gebruiken om de eerder gemaakte bean te configureren:

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

Merk op dat voordat we de bonenconfiguratie definiëren, we het JavaPersonBean-klasse. Ook, binnen in de bonen blokkerenkunnen we zoveel bonen definiëren als we nodig hebben.

We hebben onze velden gedefinieerd als privé en hoewel Groovy laat het lijken alsof het ze rechtstreeks benadert, het doet het met behulp van de meegeleverde getters / setters.

4. Extra boneninstellingen

Net als bij de op XML en Java gebaseerde configuratie, kunnen we niet alleen bonen configureren.

Als we een alias voor onze boon kunnen we het gemakkelijk doen:

registerAlias ​​("bandsBean", "bands")

Als we de bonen willen definiëren reikwijdte:

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

Om callbacks voor de levenscyclus voor onze bean toe te voegen, kunnen we het volgende doen:

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

We kunnen ook overerving specificeren in de bean-definitie:

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

Als we tot slot een aantal eerder gedefinieerde bonen uit een XML-configuratie moeten importeren, kunnen we dit doen met de importBeans ():

importBeans ("somexmlconfig.xml")

5. Conclusie

In deze tutorial hebben we gezien hoe we Spring Groovy-bonenconfiguraties kunnen maken. We hebben ook aandacht besteed aan het instellen van aanvullende eigenschappen op onze bonen, zoals hun aliassen, bereiken, ouders, methoden voor initialisatie of vernietiging, en hoe andere door XML gedefinieerde bonen kunnen worden geïmporteerd.

Hoewel de voorbeelden eenvoudig zijn, kunnen ze worden uitgebreid en gebruikt voor het maken van elk type Spring-configuratie.

Een volledige voorbeeldcode die in dit artikel wordt gebruikt, is te vinden in ons GitHub-project. Dit is een Maven-project, dus u zou het moeten kunnen importeren en uitvoeren zoals het is.


$config[zx-auto] not found$config[zx-overlay] not found