Apa Itu Spring Boot?

Apa Itu Spring Boot? Apa saja yang dapat dibangun menggunakan framework Spring Boot? Seperti apa itu Spring Boot?

Definisi Framework

Framework adalah penyedia pondasi aplikasi. Framework menyediakan tools dan library yang dapat dipakai untuk pengembangan aplikasi. Developer tidak perlu membuat tools dan library dari awal karena framework sudah menyediakannya. Dengan menggunakan framework, developer hanya perlu untuk fokus pada pengembangan aplikasi.

Definisi Spring Boot

Spring Boot adalah framework untuk mengembangkan aplikasi berbasis Java. Framework ini memiliki komunitas developer yang besar dan aktif. Spring Boot dapat digunakan untuk membangun berbagai macam jenis aplikasi. Contohnya microservice, dan web. 

Spring Boot dirilis pertama kali pada tahun 2014 oleh tim Sprint di Pivotal. Pivotal adalah sebuah perusahaan yang menyediakan dukungan untuk Spring. Sejak perilisannya, Spring Boot menjadi pilihan populer untuk membangun microservice dan jenis aplikasi lainnya.Tujuan dibuatnya Spring Boot yaitu untuk mempermudah pembuatan aplikasi dan layanan production-grade berbasis Spring dengan konfigurasi minimal.

Baca juga : Tutorial Sederhana Spring Boot Starter Web

Spring Boot dirilis pertama kali pada tahun 2014 oleh tim Sprint di Pivotal. Pivotal adalah sebuah perusahaan yang menyediakan dukungan untuk Spring. Sejak perilisannya, Spring Boot menjadi pilihan populer untuk membangun microservice dan jenis aplikasi lainnya. Tujuan dibuatnya Spring Boot yaitu untuk mempermudah pembuatan aplikasi dan layanan production-grade berbasis Spring dengan konfigurasi minimal. 

Spring framework adalah salah satu framework Java yang menerapkan Dependency Injection (DI). Framework Java satu ini sangat handal karena prinsip Dependency Injection membuat kode menjadi lebih bersih. Kamu bisa sebut Spring framework sebagai emaknya Spring Boot karena Spring Boot merupakan framework yang juga berasal dari Spring framework.

Pada bagian intinya, Spring Boot berbasis framework Spring. Spring merupakan framework berbasis Java yang menawarkan sekumpulan fitur komprehensif untuk pembangunan aplikasi web dan enterprise, didesain untuk bersifat fleksibel dan modular. Framework Spring dapat digunakan untuk membangun aplikasi dengan berbagai macam environment, seperti  web, desktop, dan mobile.

Spring Boot memberikan fitur dan tools tambahan di atas framework Spring. Hal ini membuat pengembangan dan deploy aplikasi spring lebih mudah untuk dilakukan. Spring Boot dirancang untuk membuat bootstrapping dan pengembangan aplikasi Spring yang baru menjadi lebih sederhana.

Spring Boot dibuat agar developer memiliki sedikit tingkat kerepotan. Oleh karena itu, aplikasi Spring Boot hanya membutuhkan sedikit konfigurasi Spring.

Beberapa fitur – fitur framework Spring Boot

  1. Konfigurasi otomatis: Spring Boot memanfaatkan konfigurasi otomatis untuk mengonfigurasi aplikasi secara otomatis berdasarkan dependensi yang telah ditambahkan ke classpath. Fitur konfigurasi otomatis dapat membantu developer menjalankan aplikasi dengan lebih cepat tanpa perlu secara manual mengkonfigurasi aplikasi.
  2. Actuator: Spring Boot memiliki aktuator tertanam yang memberikan beberapa fitur berguna seperti metrik, pemeriksaan kesehatan (health checks), dan kemampuan menelusuri untuk memonitor dan mengelola aplikasi.
  3. Testing Support: Spring Boot memiliki beberapa fitur yang berguna untuk melakukan pengujian aplikasi. Contohnya, fitur dukungan untuk menguji aplikasi web dengan framework Spring MVC Test, dan fitur dukungan untuk pengujian aplikasi berbasis database dengan framework Spring Data Test.
  4. Embedded servers: Spring Boot mendukung server Tomcat, Jetty, dan Undertow yang di-embed/ditanamkan. Hal ini membuat developer dapat menjalankan aplikasi sebagai aplikasi web yang mandiri tanpa membutuhkan deployment ke server aplikasi yang terpisah.
  5. Starter dependencies: Spring Boot memiliki sejumlah dependensi yang dipanggil “starter”. Dependensi ini dapat disertakan dalam proyek oleh developer, tujuannya untuk menambah fungsionalitas yang biasanya dipakai di aplikasinya. Contohnya, Spring Boot Web starter disertakan di aplikasi oleh developer dengan tujuan untuk menambahkan support untuk pengembangan aplikasi web, dan Spring Boot Data JPA starter disertakan oleh developer di aplikasi untuk memberikan dukungan untuk bekerja dengan database.
  6. Externalized configuration: Spring Boot membuat developer dapat melakukan eksternalisasi konfigurasi, sehingga developer dapat dengan mudah pindah antar lingkungan dan konfigurasi yang berbeda tanpa memerlukan pembangunan ulang aplikasi.
  7. CLI: Spring Boot memiliki Command Line Interface (CLI) untuk membuat aplikasi Spring Boot baru secara cepat dan mengoperasikannya melalui perintah command line.

Web yang dibuat menggunakan Spring maupun Spring Boot dapat diakses melalui localhost pada web browser seperti Mozilla, Chrome, maupun Safari. Link aksesnya adalah localhost:8080/name-of-your-REST-endpoint

Apa saja yang dapat dibangun menggunakan framework Spring Boot?
  1. RESTful API,
  2. Aplikasi Web,
  3. Microservice,
  4. Aplikasi command-line,
  5. dan lainnya.

Sebelum ada Spring Boot, developer harus menentukan framework dan dependency beserta versinya satu per satu secara manual, konfigurasi Spring, Internationalization, Logging, dan set up secara satu per satu. Tetapi semenjak ada Spring Boot, kita sebagai developer hanya cukup menggunakan starter project yang disediakan Spring Boot. Tidak perlu lagi ribet – ribet menggunakan cara manual. Istilahnya, Spring Boot menyediakan semunya melalui starter project.

Nah sahabat josikie, sudah megerti kan apa itu Spring Boot? Setelah artikel ini, ada artikel tutorial Spring Boot menggunakan Starter Web yang bisa kamu pelajari.

Baca juga : Tutorial Sederhana Spring Boot Starter Web

Sekian, terimakasih, dan semoga bermanfaat:)