MenuBar

Kata Mutiara

"Keberhasilan merupakan tetesan dari jeri-payah perjuangan, luka, pengorbanan dan hal-hal yang mengejutkan. Kegagalan merupakan tetesan dari kemalasan, kebekuan, kelemahan, kehinaan dan kerendahan"

ANIMASI TULISAN BERJALAN

Monday, January 13, 2025

Beda Spring , Spring Web MVC dan SpringBoot

 Perbedaan Spring, Spring Web MVC, dan Spring Boot


1. Spring Framework

Spring adalah kerangka kerja Java yang menyediakan berbagai modul untuk membangun aplikasi enterprise-grade. Modul-modulnya meliputi Spring CoreSpring AOPSpring Security, dan lainnya. Spring adalah dasar dari ekosistem yang lebih besar, termasuk Spring Web MVC dan Spring Boot.

Fitur Utama Spring Framework:

  • Dependency Injection (DI) untuk mengelola objek dan siklus hidupnya.
  • Modul modular (Spring Core, AOP, Security, dll.).
  • Cocok untuk berbagai jenis aplikasi, termasuk aplikasi non-web.

Contoh Implementasi Spring (DI dengan konfigurasi XML):

xml
----------—----------------------------------

<!-- beans.xml --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="myService" class="com.example.MyService" /> </beans>
java
-----------------—---------------------
public class MyService {
public void doSomething() { System.out.println("Service is working!"); } } public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); MyService service = context.getBean(MyService.class); service.doSomething(); } }

2. Spring Web MVC

Spring Web MVC adalah modul dalam Spring Framework untuk membangun aplikasi berbasis web menggunakan pola Model-View-Controller (MVC). Ini menyediakan fitur seperti dispatcher servletcontrollerview resolvers, dan sebagainya.

Fitur Utama Spring Web MVC:

  • Membantu membangun aplikasi web berbasis REST atau berbasis UI.
  • Dukungan penuh untuk anotasi seperti @Controller dan @RequestMapping.
  • Konfigurasi berbasis XML atau Java.

Contoh Implementasi Spring Web MVC:

java
----------------------------------------
@Controller
public class HomeController { @RequestMapping("/home") public String home(Model model) { model.addAttribute("message", "Welcome to Spring Web MVC!"); return "home"; // Nama view (home.jsp) } }
xml
-----------------------------------
<!-- web.xml -->
<web-app> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
xml
------------------------------------
<!-- dispatcher-servlet.xml -->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> </beans>

3. Spring Boot

Spring Boot adalah kerangka kerja berbasis Spring yang dirancang untuk menyederhanakan pengembangan aplikasi. Spring Boot menghilangkan boilerplate konfigurasi dengan menyediakan starter dependenciesembedded server, dan konfigurasi otomatis (auto-configuration).

Fitur Utama Spring Boot:

  • Starter Dependencies untuk mempermudah pengelolaan library.
  • Embedded Server (Tomcat, Jetty, atau Undertow) untuk menjalankan aplikasi tanpa konfigurasi tambahan.
  • Konfigurasi otomatis sehingga Anda tidak perlu membuat banyak file konfigurasi.
  • Spring Boot Actuator untuk memantau aplikasi.

Contoh Implementasi Spring Boot:

java
--------------------------------------
@SpringBootApplication
public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } @RestController public class HelloController { @GetMapping("/hello") public String sayHello() { return "Hello, Spring Boot!"; } }

File application.properties (opsional):

properties
--------------------------------------
server.port=8081

Jalankan aplikasi dengan satu file, dan Spring Boot secara otomatis mengatur server, dependensi, dan konfigurasi.


Perbandingan Singkat

FiturSpringSpring Web MVCSpring Boot
TujuanKerangka kerja inti (modular)Pembangunan aplikasi web MVCSimplifikasi pengembangan aplikasi Spring
KonfigurasiManual (XML/Java)Manual (XML/Java)Otomatis dengan starter dan embedded server
FokusAplikasi umumAplikasi berbasis web (REST/UI)Semua jenis aplikasi, dengan konfigurasi minimal
Embedded ServerTidak adaTidak adaAda (Tomcat default)
Cocok UntukEnterprise aplikasi kompleksAplikasi web berbasis MVCAplikasi cepat dan mudah di-deploy

Kesimpulan:

  • Gunakan Spring Framework untuk aplikasi kompleks dengan kebutuhan spesifik modul.
  • Gunakan Spring Web MVC untuk membangun aplikasi web berbasis MVC.
  • Gunakan Spring Boot untuk pengembangan aplikasi yang cepat, sederhana, dan modern.

No comments:

Post a Comment

iklan

iklan