Spring Boot First Application

Membuat aplikasi pertama dengan menggunakan Spring Boot, sebelumnya kita telah membuat project Spring Boot dengan menggunakan Spring Boot Initializr. Kali ini kita akan membuat aplikasi pertama kita dengan menggunakan project yang sebelumnya telah kita buat, tambahkan baris code berikut pada file pom.xml

<dependencies>
...
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
...
</dependencies>

Ubah Application.java (main program) menjadi seperti berikut :

@RestController
@SpringBootApplication
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

	@RequestMapping("/")
	public String first(){
		return "My First Spring Boot Application";
	}

}

Untuk menjalankan Spring Boot bisa menggunakan perintah berikut

Maven

$ mvn spring-boot:run

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v3.1.2)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Application in 0.906 seconds (process running for 6.514)

Gradle

$ gradle bootRun

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v3.1.2)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Application in 0.906 seconds (process running for 6.514)
2023-07-31T21:17:13.357+07:00  INFO 16192 --- [           main] com.hyvercode.spring.Application         : No active profile set, falling back to 1 default profile: "default"      
2023-07-31T21:17:14.302+07:00  INFO 16192 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-07-31T21:17:14.313+07:00  INFO 16192 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-07-31T21:17:14.314+07:00  INFO 16192 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.11]
2023-07-31T21:17:14.434+07:00  INFO 16192 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-07-31T21:17:14.435+07:00  INFO 16192 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1017 ms
2023-07-31T21:17:14.777+07:00  INFO 16192 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2023-07-31T21:17:14.786+07:00  INFO 16192 --- [           main] com.hyvercode.spring.Application         : Started Application in 1.851 seconds (process running for 2.245)

Jika tidak terjadi kesalahan saat menjalankan Spring Boot maka kita bisa akses lewat browser localhost:8080

Jika kita lihat pada class main jaba kita menambahkan @RestController dan @RequestMapping, ini adalah stereotype annotation, @RestController adalah anotasi yang memberi tahu Spring untuk merender string yang dihasilkan langsung kembali ke pemanggil. sedangkan @RequestMappinf(“/”) sebagai routing HTTP request / path untuk mengeksekusi methoe firts() yang telah kita buat.

Membuat Execute Jar

Untuk membuat file execute jar, kita harus menambahkan denpedency spring-boot-maven-plugin pada file pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

jalankan perintah berikut mvn package

$ mvn package

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/spring-boot-tutorial-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:3.1.2:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

Buka folder target maka kita akan mendapatkan file spring-boot-tutorial-0.0.1-SNAPSHOT.jar untuk memperkecil file tersebut jalankan perintah berikut “:

$ jar tvf target/spring-boot-tutorial-0.0.1-SNAPSHOT.jar

Sekarang kita bisa menjalakan file jar dengan melakukan perintah seperti perintah menjalankan file jar pada aplikasi java umumnya :

$ java -jar target/spring-boot-tutorial-0.0.1-SNAPSHOT.jar
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v3.1.2)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Application in 0.999 seconds (process running for 1.253)

Jika tidak terjadi kesalahan maka kita bisa mengakses lewat browser localhost:8080

Sample source code bisa di download di github-hyvercode

hyvercode

Spring Boot Introduction

Spring muncul pada tahun 2003 sebagai respons terhadap kompleksitas spesifikasi J2EE . Sementara beberapa orang menganggap Java EE dan Spring berbeda, Spring pada kenyataannya adalah pelengkap bagi Java EE. Model pemrograman Spring tidak mencakup spesifikasi platform Java EE melainkan, terintegrasi dengan spesifikasi individual yang dipilih dengan cermat :

(more…)

hyvercode