Groovy Bean Definitioner

1. Oversigt

I denne hurtige artikel vil vi fokusere på, hvordan vi kan bruge en Groovy-baseret konfiguration i vores Java Spring-projekter.

2. Afhængigheder

Før vi starter, skal vi tilføje afhængigheden af ​​vores pom.xml fil. Vi skal også tilføje et plugin for at kompilere vores Groovy-filer.

Lad os føje afhængigheden af ​​Groovy først til vores pom.xml fil:

 org.codehaus.groovy groovy 2.5.10 

Lad os nu tilføje pluginet:

  // ... org.codehaus.gmavenplus gmavenplus-plugin 1.9.0 addSources addTestSources generereStubs kompilere generereTestStubs kompilereTests fjerneStubs fjerneTestStubs 

Her bruger vi gmavenplus-plugin med alle målene.

De nyeste versioner af disse biblioteker kan findes på Maven Central.

3. Definition af bønner

Siden version 4 tilbyder Spring support til Groovy-baserede konfigurationer. Det betyder at Groovy-klasser kan være legitime forårsbønner.

For at illustrere dette skal vi definere en bønne ved hjælp af standard Java-konfigurationen, og derefter konfigurerer vi den samme bønne ved hjælp af Groovy. På denne måde kan vi se forskellen.

Lad os oprette en enkel klasse med et par egenskaber:

offentlig klasse JavaPersonBean {privat streng fornavn; privat streng efternavn; // standard getters og setter} 

Det er vigtigt at huske på getters / settere - de er afgørende for, at mekanismen fungerer.

3.1. Java-konfiguration

Vi kan konfigurere den samme bønne ved hjælp af en Java-baseret konfiguration:

@Configuration offentlig klasse JavaBeanConfig {@Bean offentlig JavaPersonBean javaPerson () {JavaPersonBean jPerson = ny JavaPersonBean (); jPerson.setFirstName ("John"); jPerson.setLastName ("Doe"); returnere jPerson; }}

3.2. Groovy-konfiguration

Nu kan vi se forskellen, når vi bruger Groovy til at konfigurere den tidligere oprettede bønne:

bønner {javaPersonBean (JavaPersonBean) {firstName = 'John' lastName = 'Doe'}}

Bemærk, at inden vi definerer bønnekonfiguration, skal vi importere JavaPersonBean-klasse. Også, inde i bønner blok, kan vi definere så mange bønner, som vi har brug for.

Vi definerede vores felter som private og selvom Groovy får det til at se ud som om det har direkte adgang til dem, det gør det ved hjælp af forudsatte getters / settere.

4. Yderligere bønneindstillinger

Som med den XML- og Java-baserede konfiguration kan vi ikke kun konfigurere bønner.

Hvis vi har brug for at indstille en alias for vores bønne kan vi gøre det let:

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

Hvis vi vil definere bønnens rækkevidde:

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

For at tilføje tilbagekald af livscyklus til vores bønne kan vi gøre:

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

Vi kan også specificere arv i bønnedefinitionen:

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

Endelig, hvis vi har brug for at importere nogle tidligere definerede bønner fra en XML-konfiguration, kan vi gøre dette ved hjælp af importBeans ():

importBeans ("somexmlconfig.xml")

5. Konklusion

I denne vejledning så vi, hvordan vi opretter Spring Groovy bønnekonfigurationer. Vi dækkede også indstilling af yderligere egenskaber på vores bønner, såsom deres aliaser, omfang, forældre, metoder til initialisering eller destruktion, og hvordan man importerer andre XML-definerede bønner.

Selvom eksemplerne er enkle, kan de udvides og bruges til at oprette enhver form for Spring-konfiguration.

En fuldstændig eksempelkode, der bruges i denne artikel, kan findes i vores GitHub-projekt. Dette er et Maven-projekt, så du skal kunne importere det og køre det som det er.