Tutorial Sederhana Microservice Menggunakan Spring Boot

Bisakah kita menggunakan Spring Boot untuk membangun microservice? Tentu bisa dong. Bagaimana caranya? Berikut Tutorial Sederhana Microservice Menggunakan Spring Boot

Spring Boot adalah salah satu framework dari Spring Framework. Dengan Spring Boot, developer tidak terlalu banyak menambahkan dependensi sehingga pembuatan aplikasi dapat lebih cepat. Selain itu, Spring Boot juga menyediakan banyak dependensi yang dibutuhkan oleh developer seperti  Spring Web, Spring Reactive We, Spring Web Services, WebSocket, Jersey,  Template Thymeleaf, Apache Freemarker, Groovy Templates, Spring Security, OAuth2 Client, Okta, JDBC API, Liquibase Migration, JOOQ Access Layer, HyperSQL Database, Oracle Driver, Spring Boot Actuator, dan lainnya.

Baca juga : Apa Itu Spring Boot?

Microservice adalah layanan yang dibagi secara kecil kecil yang saling terhubung. Microservice memiliki arsitektur heksagonal yang berisi logika-logika dan adapter seperti bahasa pemrograman dan lainnya. Lawan dari microservice adalah aplikasi monolitik. Aplikasi monolitik beda dengan aplikasi microservice. Jika aplikasi microservice membagi kecil kecil layanan, aplikasi monolitik menjadikan satu layanan sehingga ketika ada perubahan kecil, pada aplikasi monolitik efeknya bisa ke service yang lain. Sedangkan pada aplikasi microservice, satu perubahan kecil tidak akan memberikan efek pada service lainnya. Karena setiap service dibagi menjadi kecil kecil namun tetap terhubung. Perubahan hanya ada pada layanan yang sedang di ubah. Layanan lain tidak akan terkena efeknya.  

Berikut Tutorial Sederhana Microservice Menggunakan Spring Boot yang wajib kamu coba dan cocok untuk kamu pelajari. Pada tutorial ini kamu akan belajar membuat Simple Rest Controller yang terdiri dari dua kelas, yaitu kelas Mahasiswa dan kelas MahasiswaController.

Pertama Masuk ke web browser terlebih dahulu, buka alamat URL start.spring.io

Isi Project, Language, Spring Boot, Project Metadata dan bagiannya seperti gambar di bawah ini :

Pada bagian Dependecies, cari Spring Web lalu klik Spring Web dan akan menjadi seperti di bawah ini :

Lalu klik tombol hijau Generate yang dilingkari pada gambar di bawah. File zip Microservice akan terdownload.

Cari file Microservice.zip di file explorer lalu ekstrak file zip tersebut. Kemudian buka IDE kalian, josikie menggunakan IDE Eclipse. Tidak harus IDE Eclipse. Intellij dan Netbeans juga bisa. Namun di tutorial ini, kita menggunakan IDE Eclipse.

Pilih File -> Import seperti gambar di bawah ini :

Muncul pop up Import lalu pilih Existing Project Maven dan klik next

Setelah itu browse lokasi file Microservice yang sudah kamu ekstrak dan centang file pom yang ada di dalam kotak projects, kemudian klik tombol Finish yang josikie pada gambar di bawah. Berikut ini gambar setelah di browse dan dicentang kotak centang file pom :

Buka Microservice klik src/main/java lalu pilih com.example.Microservice dan klik pada MicroserviceApplication.java seperti pada gambar di bawah lalu perhatikan kode yang ada didalam kelas MicroserviceApplication.

Pada gambar di atas terdapat anotasi @SpringBootApplication di baris ke enam. Anotasi tersebut menandakan bahwa aplikasi kamu adalah aplikasi Spring Boot. Kegunaannya untuk memberikan konteks Spring, mengaktifkan Auto Configuration, dan lainnya.

Coba Run Aplikasi Spring boot, caranya klik kanan MicroserviceApplication.java kemudian pilih Run As dan klik 1 Java Application seperti di bawah ini :

Console akan mengeluarkan output seperti gambar di bawah ini :

Kita akan membuat kelas Mahasiswa yang . Klik kanan com.example.Microservice pilih New lalu klik Class. Seperti gambar berikut ini :

Ketika pop up New Java Class, isi kotak Name dengan nama Mahasiswa, biarkan yang lain terisi defaultnya. Lalu kik finish, berikut gambarnya :

Ketikkan kode pada gambar berikut di Mahasiswa.java :

Lalu klik kanan di dalam class Mahasiswa lalu pilih Source dan klik Generate Getters and Setters. Setelah pop up Generate Getters and Setters, pilih tombol Select Getters lalu klik Generate seperti yang josikie lingkarin di bawah ini :

Perubahan kode akibat Getter seperti di bawah ini :

Klik kanan di dalam kelas Mahasiswa kemudian pilih Source dan klik Generate Using Fields. Berikut gambarnya :

Klik tombol Select All lalu pilih Generate

Setelah itu, kode yang ada pada kelas Mahasiswa akan berubah menjadi seperti kode di bawah ini :

Kemudian klik kanan di dalam kelas Mahasiswa pilih Source dan klik toString() seperti di bawah ini :

Muncul pop up Generate toString() klik tombol Generate yang dilingkarin josikie seperti gambar di bawah ini :

Kode akhir didalam kelas Mahasiswa seperti gambar berikut ini :

Buat kelas MahasiswaController. Caranya klik kanan pada com.example.Microservice pilih New dan klik Class, isi kotak Name dengan nama MahasiswaController lalu klik Finish.

Kelas MahasiswaController adalah kelas yang nantinya akan bertugas mendaftarkan mapping dari URL endpoint. Tujuannya supaya permintaan ke endpoint dapat dilayani oleh kelas Mahasiswa.

Setelah itu tambahkan anotasi @RestController sebelum definisi kelas MahasiswaController seperti di bawah ini, jangan lupa setelah menuliskan anotasi tersebut tekan Ctrl + Spasi untuk menambahkan import secara otomatis dan agar tidak ada error yang melaporkan bahwa ada yang tidak dapat ditemukan (unknwon class), hasilnya akan seperti di bawah ini :

Kemudian tambahkan anotasi @GetMapping setelah definisi kelas MahasiswaController sehingga kode di kelas MahasiswaController, jangan lupa Ctrl + Spasi untuk mendapatkan import secara otomatis. Jika nanti ada dua pilihan saat memencet tombol Ctrl + Spasi, pilihlah yang paling atas, kelas MahasiswaController menjadi menjadi seperti ini :

Endpoint kita menggunakan /datamahasiswa pada anotasi @GetMapping seperti potongan kode di atas.

Buatlah method getDataMahasiswa() yang memiliki nilai return List dari data mahasiswa yang memiliki identifier public sehingga kode di kelas MahasiswaController menjadi seperti berikut :

Untuk mengimport List, arahkan kursor ke List lalu klik kiri satu kali, setelah itu pencet Ctrl + Spasi secara bersamaan. Pilih yang paling atas jika ada dua pilihan yang muncul.

Kemudian tambahkan return di dalam method tersebut, return yang dipakai adalah return dari List. Kita pakai Arrays.asList(Tempat menambahkan data sesuai method Konstruktor milik kelas Mahasiswa); berikut potongan kodenya :

Sehingga keseluruhan kode di kelas MahasiswaController adalah sebagai berikut :

Kode di atas merupakan kode terakhir di kelas MahasiswaController. Kamu bisa merubah dan menambahkan data Mahasiswa di kelas Mahasiswa Controller jika kamu ingin mengotak-atik kode dan menantang dirimu sendiri. Setelah itu mari kita coba Run dan test di web browser. Klik run lalu masukkan alamat URL localhost:8080/datamahasiswa ke web browser yang kamu pakai (Penulis menggunakan Chrome) dan lihat hasilnya.

Berikut ini screenshot localhost:8080/datamahasiswa di browser Chrome milik penulis :

Jika kamu mau menantang dirimu, coba buatlah data ArrayList yang berisi beberapa data Mahasiswa. Jangan lupa returnnya, return yang digunakan bukan Arrays.asList lagi tetapi return NamaVariabelArrayListSetelahMenambahDataMahasiswa;

Baca juga : Tutorial Sederhana Spring Boot Starter Web

Sekian, terimakasih, semoga bermanfaat:)

You may also like...