Definisi Kacang Groovy

1. Ikhtisar

Di artikel singkat ini, kami akan fokus pada bagaimana kami dapat menggunakan konfigurasi berbasis Groovy di proyek Java Spring kami.

2. Dependensi

Sebelum kita mulai, kita perlu menambahkan dependensi ke file pom.xml kita . Kita juga perlu menambahkan plugin untuk mengompilasi file Groovy kita.

Mari tambahkan ketergantungan untuk Groovy terlebih dahulu ke file pom.xml kita :

 org.codehaus.groovy groovy 2.5.10 

Sekarang, mari tambahkan plugin:

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

Di sini, kami menggunakan gmavenplus-plugin dengan semua tujuan.

Versi terbaru dari perpustakaan ini dapat ditemukan di Maven Central.

3. Mendefinisikan Kacang

Sejak versi 4, Spring menyediakan dukungan untuk konfigurasi berbasis Groovy. Ini berarti bahwa kelas Groovy bisa menjadi kacang Spring yang sah.

Untuk mengilustrasikan ini, kita akan mendefinisikan kacang menggunakan konfigurasi Java standar dan kemudian kita akan mengkonfigurasi kacang yang sama menggunakan Groovy. Dengan cara ini, kita bisa melihat perbedaannya.

Mari buat kelas sederhana dengan beberapa properti:

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

Penting untuk diingat tentang pengambil / penyetel - mereka penting agar mekanisme berfungsi.

3.1. Konfigurasi Java

Kita dapat mengkonfigurasi kacang yang sama menggunakan konfigurasi berbasis Java:

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

3.2. Konfigurasi Groovy

Sekarang, kita dapat melihat perbedaannya ketika kita menggunakan Groovy untuk mengkonfigurasi kacang yang telah dibuat sebelumnya:

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

Perhatikan bahwa sebelum mendefinisikan konfigurasi kacang, kita harus mengimpor kelas JavaPersonBean. Juga, di dalam blok kacang , kita dapat mendefinisikan kacang sebanyak yang kita butuhkan.

Kami mendefinisikan bidang kami sebagai pribadi dan meskipun Groovy membuatnya terlihat seperti mengaksesnya secara langsung, itu melakukannya menggunakan getter / setter yang disediakan.

4. Pengaturan Bean Tambahan

Seperti pada XML dan konfigurasi berbasis Java, kita tidak hanya dapat mengkonfigurasi kacang.

Jika kita perlu mengatur alias untuk kacang kita, kita bisa melakukannya dengan mudah:

registerAlias("bandsBean","bands")

Jika kita ingin mendefinisikan ruang lingkup kacang :

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

Untuk menambahkan callback siklus hidup kacang kita, kita bisa melakukan:

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

Kami juga dapat menentukan warisan dalam definisi kacang:

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

Terakhir, jika kita perlu mengimpor beberapa kacang yang telah didefinisikan sebelumnya dari konfigurasi XML, kita dapat melakukan ini menggunakan importBeans ():

importBeans("somexmlconfig.xml")

5. Kesimpulan

Dalam tutorial ini, kita melihat bagaimana kita membuat konfigurasi kacang Spring Groovy. Kami juga membahas pengaturan properti tambahan pada kacang kami seperti alias, cakupan, induk, metode untuk inisialisasi atau penghancuran, dan cara mengimpor kacang yang ditentukan XML lainnya.

Meskipun contohnya sederhana, mereka dapat diperpanjang dan digunakan untuk membuat semua jenis konfigurasi Spring.

Kode contoh lengkap yang digunakan dalam artikel ini dapat ditemukan di proyek GitHub kami. Ini adalah proyek Maven, jadi Anda harus dapat mengimpornya dan menjalankannya apa adanya.