spring boot là gì ? Học lập trình java spring boot tạo project spring boot

Spring boot là gì và hướng dẫn tạo project spring boot spring framework sử dụng eclipse và intellij

Laptrinhjavaweb Academy cung cấp các khóa học: Java Core, Java Web, Java Hosting

Trong bài viết này, laptrinhjavaweb muốn giới thiệu cho các bạn biết spring boot là gì

Sau khi tìm hiểu được khái niệm spring boot là gì thì laptrinhjavaweb tiếp tục hướng dẫn các bạn tạo 1 project spring boot cơ bản như thế nào

Việc tạo project spring boot cơ bản cũng như biết về khái niệm spring boot là gì giúp ích rất nhiều cho các bạn khi join khóa học spring boot cơ bản miễn phí của Laptrinhjavaweb: LINK KHÓA HỌC

Khóa học spring boot cơ bản miễn phí

– Link khóa học: laptrinhjavaweb.com/springboot

Mục lục nội dung

1. Tạo project spring boot 1.5.22.RELEASE viết api web service sử dụng eclipse

2. Tạo project Spring MVC sử dụng spring boot 2.0.x, intellij

Khái niệm spring boot là gì

Spring boot là gì

Trước khi tìm hiểu spring boot là gì, các bạn cần biết spring framework là gì: XEM TẠI ĐÂY

Sau khi hiểu qua spring framework là gì thì chúng ta cùng đi xem spring boot là gì nhé

Tạm chia làm 2 phần như sau:

Phần 1: spring boot để phát triển api web service

Trong số các bạn mình tin là 98% ai cũng biết tới nền tảng thương mại điện tử tiki. Hiện tiki có 2 nền tảng là app và web, khi các bạn dùng web order hàng hóa thì ngay lập tức app sẽ đồng bộ theo dữ liệu mà bạn mới thao tác trên web

Vậy để làm được điều đó tiki đã sử dụng cơ chế web service, dùng chung 1 database và các hàm sử dụng cho web và app cũng sẽ chung với nhau. Có nghĩa là ví dụ bạn chỉ cần viết hàm order thì hàm đó sẽ dùng chung luôn cho web và app

Để xây dựng web service trong java, chúng ta cũng có rất nhiều cách tuy nhiên nó khá là khó và cũng hơi phức tạp. Vì vậy nhà cung cấp Spring framework đã phát triển ra cho chúng ta 1 công nghệ cực kì hữu ích đó chính là Spring boot

Khi spring boot ra đời, việc xây dựng API web service không còn là cái gì đó quá to tát và nó cũng giúp cho chúng ta tiết kiệm được thời gian rất nhiều

Phần 2: spring boot phát triển lập trình web

Để lập trình web với java trong spring framework chúng ta có Spring MVC. Để tạo project Spring MVC trước đây chúng ta phải tạo thủ công, hiểu đơn giản là muốn làm cái gì cũng phải làm bằng tay, tự thêm thư viện, tự cấu hình (giống như tự nấu ăn vậy: muốn có đồ ăn phải đi chợ, chế biến, nấu)

Từ những khó khăn đó, họ cũng nãy ra ý tưởng xây dựng 1 nền tảng mới để giảm thiểu cấu hình và tích hợp sẵn những thư viện hay dùng để mỗi khi tạo project spring mvc thì chúng ta không phải cấu hình nhiều và tải lại những thư viện dùng chung thủ công như cách làm thủ công trước đây (giống như việc đi ăn cơm cơm tiệm vậy: chẳng phải tự tay nấu nướng gì cả, chỉ cần ra tiệm mua là xong)

Từ đó spring boot được các nhà phát triển spring framework cho ra đời

Sau khi hiểu được spring boot là gì rồi thì chúng ta tiếp tục đi vào phần tạo project spring boot cơ bản, các bạn theo dõi tiếp nhé

1. Tạo project spring boot viết api web service sử dụng eclipse

1.1 Các phần mềm và thư viện sử dụng trong series tạo project spring boot api sử dụng eclipse

– Apache maven 3.6.0

– Eclipse JEE 4.9.0 2018

– JDK 1.8

– Spring boot 1.5.22.RELEASE

Download các phần mềm tại đây: laptrinhjavaweb.com/huong-dan-cai-dat-phan-mem-4

1.2 Các bước tạo project trong series tạo project spring boot api sử dụng eclipse

1. Mở Eclipse EE, sau đó File -> New -> other

2. Hộp thoại mở ra, làm theo như trong hình


 

3. Tiếp tuc làm theo như hình

4. Tiếp tuc làm theo như hình

Anh chị chú ý Artifact Id anh chị để theo tên project anh chị đang làm

5. Mở file POM.xml và thêm đoạn code như bên dưới

       <parent>

              <groupId>org.springframework.boot</groupId>

             <artifactId>spring-boot-starter-parent</artifactId>

             <version>1.5.22.RELEASE</version>

       </parent>

       <properties>

              <java.version>1.8</java.version>

       </properties>

       <dependencies>

             <dependency>

                    <groupId>org.springframework.boot</groupId>

                    <artifactId>spring-boot-starter-web-services</artifactId>

             </dependency>

       </dependencies>

6. Sau đó update project như hình bên dưới

Sau khi update anh chị làm theo các hình bên dưới nhé để build project

 

Lệnh mvn clean install giúp anh chị xóa file JAR cũ và build file JAR mới để update code mới

7. Sau khi build project xong thì làm tiếp theo hình bên dưới

Trong folder src/main/java tạo 1 package có tên: com.laptrinhjavaweb

Trong package đó, tạo 1 class java Application.java và copy đoạn code bên dưới vào file Application.java

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

 

@SpringBootApplication

public class Application {

       public static void main(String[] args) {

        SpringApplication.run(Application.class, args);

    }

}

8. Tiếp tục trong package com.laptrinhjavaweb tạo 1 package con là api. Sau đó trong package api tạo 1 file java NewAPI.java và copy đoạn code bên dưới vào file NewAPI.java

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

 

@RestController

public class NewAPI {

       @GetMapping(“/test”)

       public String testAPI() {

             return “success”;

   }

}

9. Tiếp tục làm theo hình bên dưới

Trong folder src/main/resources tạo file application.properties và add đoạn code bên dưới vào file

server.port=8081

Mặc định port có sẵn của tomcat trong spring boot là 8080. Nhưng laptrinhjavaweb muốn đổi thành port khác để tránh trùng với 1 số app nên chuyển từ 8080 -> 8081

10. Sau khi hoàn thành các bưới kể trên, run project

Kết quả thành công khi bạn mở trình duyệt và truy cập vào link

Khóa học spring boot cơ bản miễn phí

– Link khóa học: laptrinhjavaweb.com/springboot

Laptrinhjavaweb Software cung cấp: Java Hosting, Cloud VPS, Tên miền, source code Java chất lượng, thiết kế website

 

2. Tạo project Spring MVC sử dụng Spring Boot 2.0.x, Intellij

2.1 Các phần mềm sử dụng

– Intellij 2018

– Java 8

– Maven 3.6.0

– Tomcat 8.5

– Spring boot 2.0.9.RELEASE

Download các phần mềm tại đây: laptrinhjavaweb.com/huong-dan-cai-dat-phan-mem-4

2.2 Các bước thực hiện

1. Mở intellij và làm theo như hình

2. Anh chị em tiếp tục làm theo các bước như hình

3. Anh chị em nhập thông tin như hình

Group: nếu ai đang không ở 1 tổ chức nào cả thì có thể để là com.example

Artifact: đặt theo tên project mọi người chuẩn bị làm, laptrinhjavaweb thiết kế website bán hàng nên để là store

Description: tùy anh chị em

Package: nếu ai đang không ở 1 tổ chức nào cả thì có thể để là com.example

Những trường còn lại mọi người để giống trong hình

4. Tiếp tục làm theo các bước trong hình

Chú ý: chỗ bước 3 anh chị em cứ chọn version nhỏ nhất cụ thể hiện tại laptrinhjavaweb chọn là 2.4.10, sau đó chút nữa chúng ta sẽ đổi thành verison 2.0.9.RELEASE do cách làm của laptrinhjavaweb là sử dụng mẫu có sẵn của start.spring.io nên sẽ phụ thuộc vào version mà start.spring.io thiết lập, nếu muốn làm version khác các version có sẵn thì sẽ chỉnh lại sau

5. Làm theo như hình

Bước 1 anh chị chọn vị trí lưu project anh chị mong muốn

6. Mở file POM.xml, anh chị thay đổi version 2.4.10 thành 2.0.9.RELEASE

7. Trong folder src -> main anh chị tạo folder webapp, trong webapp anh chị tạo folder WEB-INF, trong folder WEB-INF anh chị tạo file web.xml

Anh chị copy đoạn code sau vô file web.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
         xmlns=”http://java.sun.com/xml/ns/javaee”
         xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”
         version=”3.0″>
    <display-name>store-project</display-name>

</web-app>

8. Anh chị mở terminal trong intellij và chạy lệnh “mvn clean install -DskipTests” như hình bên dưới

9. Trong folder WEB-INF anh chị tạo folder views, trong folder views anh chị tạo file home.jsp như hình bên dưới

10. Anh chị copy đoạn mã bên dưới vô file home.jsp

<%@ page contentType=”text/html;charset=UTF-8″ language=”java” %>

<html>

<head>    

     <title>Trang chủ</title>

</head>

<body>

<h1>Hello world</h1>

</body>

</html>

11. Trong package com.laptrinhjavaweb anh chị tạo 2 package con là config và controller

Trong package config anh chị tạo file MvcConfig.java và copy đoạn code phía dưới vào file MvcConfig.java

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.config.annotation.EnableWebMvc;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import org.springframework.web.servlet.view.InternalResourceViewResolver;

 

@Configuration

@EnableWebMvc

public class MvcConfig implements WebMvcConfigurer {

 

     @Override

     public void configureViewResolvers(ViewResolverRegistry registry) {

               InternalResourceViewResolver resolver = new InternalResourceViewResolver();

               resolver.setPrefix(“/WEB-INF/views/”);

               resolver.setSuffix(“.jsp”);

               registry.viewResolver(resolver);

      }

}

Trong package controller anh chị tạo file HomeController.java và copy đoạn code phía dưới vào file HomeController.java

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.servlet.ModelAndView;

 

@Controller

public class HomeController {

  

     @RequestMapping(value = “/trang-chu”, method = RequestMethod.GET)   

     public ModelAndView homePage() {      

        ModelAndView mav = new ModelAndView(“home”);      

        return mav;   

     }

}

12. Trong series này laptrinhjavaweb hướng dẫn anh chị build file WAR nên laptrinhjavaweb không sử dụng tomcat có sẵn của Spring boot mà laptrinhjavaweb sử dụng tomcat ngoài, do đó để run project, anh chị add tomcat ngoài như sau

13. Tiếp tục như hình

14. Anh chị chú ý chọn file có từ khóa exploded nhé

15. Tiếp tục như hình

16. Để chạy chương trình, anh chị có 2 mode

Số 1: mode này chỉ run thôi

Số 2: mode này để debug

17. Nếu khi chạy lên, ra lỗi như sau

Nguyên nhân do chúng ta chưa trỏ controller ban đầu khi start

Cách giải quyết

17.1 Trong file POM.xml, thêm đoạn code phía dưới

<!– JSTL for JSP –>
<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>jstl</artifactId>
</dependency>

17.2 Trong folder webapp, tạo file index.jsp và add đoạn code bên dưới

<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core”%>

<c:redirect url=”/trang-chu”/>

17.3 Trong file web.xml thêm đoạn code như bên dưới

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

18. Sau khi khắc phục lỗi ở bước 17, mọi người chạy lại project, nếu ra kết quả như hình thì mọi người thành công

Khóa học spring boot cơ bản miễn phí

– Link khóa học: laptrinhjavaweb.com/springboot

Laptrinhjavaweb Academy cung cấp các khóa học: Java Core, Java Web, Java Hosting

 

Follow fanpage, facebook cá nhân, group facebook, kênh youtube để nhận các nội dung hay ho về lập trình java core, java web, java hosting

– Fanpage: XEM TẠI ĐÂY

– Kênh Youtube: XEM TẠI ĐÂY

– Facebook cá nhân: XEM TẠI ĐÂY

– Nhóm Facebook hỏi đáp miễn phí: XEM TẠI ĐÂY