Last Updated on January 8, 2022 by
Spring Boot adalah salah satu Framework Spring untuk membangun aplikasi berbasis Java. Framework Spring Boot adalah framework berbasis Java yang bersifat open source yang dapat digunakan untuk membuat Micro Service.
Micro Service adalah sebuah arsitektur yang memungkinkan Anda untuk membangun dan melakukan deplove secara mandiri. Spring boot diciptakan oleh Pivotal Team dan menyediakan infrastruktur yang kompeherensif untuk mendukung Anda mulai dari membuat sebuah micro service maupun membangun aplikasi siap pakai di mana Anda hanya perlu menjalankannya saja.
Beberapa keuntungan menggunakan Framework Spring Boot:
- Dapat menciptakan aplikasi Spring yang berdiri sendiri (stand alone)
- Adanya fitur Embed Tomcat, Jetty, dan Undertow secara langsung, sehingga Anda tidak perlu menerapkan file WAR.
- Menyediakan dependensi ‘starter’ yang dapat membantu konfigurasi dapat dilakukan dengan lebih sederhana.
- Mengkonfigurasikan pustaka Spring dan pihak ketiga secara otomatis jika memungkinkan.
- Terdapat fitur siap produksi seperti metrics, health checks, dan externalized configuration.
- Tidak ada pembuatan kode sama sekali dan tidak ada persyaratan untuk konfigurasi XML.
Table of Contents
Modul atau fitur yang dimiliki oleh Framework Spring Boot sebagai berikut:
- Spring Core Container merupakan modul dasar Spring dan menyediakan wadah Spring (BeanFactory dan ApplicationContext).
- Aspect- oriented programming, modul ini memungkinkan developer untuk menerapkan programing yang berorientasi pada aspek dan mengimplementasikan masalah-masalah dalam programing yang bersifat lintas sektoral.
- Authentication dan Authorization, modul ini memudahkan developer dalam melakukan proses keamanan yang dapat dikonfigurasi yang mendukung berbagai standar, protokol, alat dan praktik melalui sub-proyek Keamanan Musim Semi (sebelumnya Sistem Keamanan Acegi untuk Spring).
- Convention over configuration merupakan solusi pengembangan aplikasi cepat untuk aplikasi perusahaan berbasis Spring yang ditawarkan dalam modul Spring Roo.
- Data access, merupakan modul yang bekerja dengan sistem manajemen basis data relasional pada platform Java menggunakan Java Database Connectivity (JDBC) dan alat pemetaan relasional objek dan dengan basis data NoSQL
- Inversion of control container (IoC) memungkinkan developer untuk melakukan konfigurasi komponen aplikasi dan manajemen siklus objek Java. IoC adalah pusat dari Spring Framework yang berisikan cara konsisten untuk mengkonfigurasi dan mengelola objek Java menggunakan refleksi.
Container ini memiliki tanggung jawab untuk mengelola lifecycle objek dari objek tertentu. Beberapa hal yang dapat dilakukan oleh container adalah membuat objek, memanggil metode inisialisasinya, dan mengonfigurasi objek dengan menghubungkannya.
- Messaging berguna untuk pendaftaran konfiguratif objek pendengar pesan untuk konsumsi pesan transparan dari antrean pesan melalui Java Message Service (JMS), peningkatan pengiriman pesan melalui JMS API standar.
- Model – view – controller, framework berbasis HTTP dan Servlet yang menyediakan hook untuk ekstensi dan kustomisasi aplikasi web dan layanan Web RESTful (representational state transfer).
- Remote access framework, merupakan prosedur panggilan konfiguratif jarak jauh dengan style gaya marshalling objek Java melalui jaringan yang mendukung pemanggilan metode jarak jauh Java atau Java remote method invocation (RMI), CORBA (Common Object Request Broker Architecture) dan protokol berbasis HTTP termasuk layanan Web (SOAP (Simple Object Access Protocol)).
- Transaction management, berfungsi untuk menyatukan beberapa API manajemen transaksi dan mengkoordinasikan transaksi untuk objek Java
- Remote management, berfungsi untuk melakukan eksposur konfiguratif dan manajemen objek Java untuk konfigurasi lokal atau jarak jauh melalui Java Management Extensions (JMX)
- Testing, untuk mendukung kelas untuk menulis pengujian unit dan pengujian integrase.
Ada beberapa cara untuk menginstal Framework Spring Boot. Anda dapat menginstalnya mulai dari sctratch. Ini adalah dasar untuk memulai seluruh software Spring. Jika Anda sudah memahami dasar-dasarnya, Anda dapat melewatinya dengan mendownload dan mengekstrak sumber repository menggunakan git: git clone https://github.com/spring-guides/gs-spring-boot.git. Lalu tambahkan code gs-spring-boot/complete.
Jika Anda ingin menginstal dengan menggunakan Spring Initializr ada beberapa hal yang perlu Anda siapkan yakni teks editor yang biasa Anda gunakan atau bisa gunakan IDE, JDK 1.8. atau Java SE, siapkan juga Gradle 4+ atau Maven 3.2. Anda juga dapat mengimpor code langsung pada IDE.
Initializr ini menawarkan cara cepat untuk menarik seluruh dependensi yang Anda butuhkan untuk sebuah aplikasi dan melakukan banyak pengaturan untuk Anda. Pada contoh ini, Anda hanya membutuhkan dependensi Spring Web. Berikut ini adalah daftar yang menunjukkan file pom.xml yang dibuat ketika Anda menggunakan Maven:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Kemudian berikut ini adalah daftar yang menampilkan build.gradle yang dibuat ketika Anda mengguanakan Gradle.
plugins {
id 'org.springframework.boot' version '2.3.3.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
Tutorial Dasar Membuat Aplikasi dengan Spring Boot
1. Buat Aplikasi Baru
Setelah menginstal Spring Boot, Anda sudah dapat membuat sebuah aplikasi web dengan mengikuti kode berikut:
src/main/java/com/example/springboot/HelloControl.java).
Ketika dijalankan, hal ini akan menampilkan:
package com.example.springboot;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
Sedikit penjelasan tentang kode-kode di atas. Kelas yang ditandai sebagai @RestController berarti kelas tersebut sudah siap untuk digunakan oleh Spring MVC untuk menangani permintaan web. @RequestMapping peta / menuju metode index ().
Saat dipanggil dari sebuah browser atau menggunakan curl pada baris perintah, metode ini mengembalikan teks pada aslinya. Hal ini dikarenakan @RestController menggabungkan @Controller dan @ResponseBody, yang merupakan dua anotasi mengakibatkan request pada web mengembalikan data bukan tampilan.
2. Membuat sebuah Kelas Aplikasi
Spring Initializr membuatkan Anda sebuah kelas aplikasi yang sederhana. Anda perlu memodifikasi kelas aplikasi untuk menyesuaikan dengan listing dari src/main/java/com/example/springboot/Application.java):
package com.example.springboot;
import java.util.Arrays;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
return args -> {
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
};
}
}
@SpringBootApplication adalah anotasi kenyamanan yang menambahkan hal-hal berikut:
a. @Configuration, untuk melakukan tag pada kelas sebagai sumber definisi Bean untuk application context.
b. @EnableAutoConfiguration, untuk memerintah Spring Boot agar mulai menambahkan berbagai Bean berbasis pada pengaturan classpath, bean- bean yang lain, dan berbagai pengaturan property. Contohnya, spring-webmvc pada classpath yang mana anotasi ini menandao aplikasi sebagai aplikasi web serta mengaktifkan perilaku utama seperti DispatcherServlet.
c. @ComponentScan, untuk memerintah Spring Framework untuk mencari komponen lain, mengkonfigurasi dan service pada package com/example, dan membiarkannya menemukan controller.
Metode main () menggunakan metode SpringApplication.run () adalah cara untuk meluncurkan aplikasi. Ada juga metode CommandLineRunner yang ditandai dengan @Bean, untuk mengambil semua bean yang dibuat oleh aplikasi Anda atau yang ditambahkan secara otomatis oleh Spring Boot. CommandLineRunner ini akan menyortir dan mencetaknya.
3. Jalankan Aplikasi
Untuk menjalankan Aplikasi, jalankan perintah ini pada direktori terminal window.
./gradlew bootRun
Jika Anda menggunakan Maven, jalankan perintah berikut pada direktori terminal window:
./mvnw spring-boot:run
Anda akan mendapatkan output seperti dibawah ini:
Let’s inspect the beans provided by Spring Boot:
application
beanNameHandlerMapping
defaultServletHandlerMapping
dispatcherServlet
embeddedServletContainerCustomizerBeanPostProcessor
handlerExceptionResolver
helloController
httpRequestHandlerAdapter
messageSource
mvcContentNegotiationManager
mvcConversionService
mvcValidator
org.springframework.boot.autoconfigure.MessageSourceAutoConfiguration
org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration
org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration
org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration$DispatcherServletConfiguration
org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration$EmbeddedTomcat
org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration
org.springframework.boot.context.embedded.properties.ServerProperties
org.springframework.context.annotation.ConfigurationClassPostProcessor.enhancedConfigurationProcessor
org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor
org.springframework.context.annotation.internalAutowiredAnnotationProcessor
org.springframework.context.annotation.internalCommonAnnotationProcessor
org.springframework.context.annotation.internalConfigurationAnnotationProcessor
org.springframework.context.annotation.internalRequiredAnnotationProcessor
org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration
propertySourcesBinder
propertySourcesPlaceholderConfigurer
requestMappingHandlerAdapter
requestMappingHandlerMapping
resourceHandlerMapping
simpleControllerHandlerAdapter
tomcatEmbeddedServletContainerFactory
viewControllerHandlerMapping
Maka aplikasi Anda sudah selesai.
Spring Boot adalah salah satu framework yang sangat populer di kalangan developer. Spring Boot pun sangat direkomendasikan untuk Anda yang fasih dengan bahasa program Java, karena Anda dapat menciptakan aplikasi stand alone, dan Spring Boot tergolong sederhana dan mudah dipelajari.
Ingin mendapat informasi terbaru soal pengembangan WEB ataupun Aplikasi? Kunjungi situs WEB APP di https://appkey.id/ atau download aplikasinya di Google Play Store. Gratis!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.