Spring boot là gì, học lập trình java spring boot 1.5.22.RELEASE, 2.0.9.RELEASE, spring framework, hướng dẫn tạo project sử dụng eclipse và intellij
Khóa học java web cơ bản nâng cao đi làm với spring boot, spring framework tại Laptrinhjavaweb Academy
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: HỌC SPRING BOOT
Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí
- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT
- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT
- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT
- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản
1. Java backend api web service: CHI TIẾT
2. Thiết kế website
2.1 Thiết kế website cơ bản: CHI TIẾT
2.2 Thiết kế website nâng cao: CHI TIẾT
- Học spring framework không sử dụng spring boot: CHI TIẾT
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ì
Trước khi tìm hiểu spring boot là gì, các bạn cần biết spring framework là gì: SPRING FRAMEWORK LÀ GÌ
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 sau khi nắm rõ spring boot là gì
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
Các bạn chú ý Artifact Id các bạn để theo tên project các bạn đ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 các bạn làm theo các hình bên dưới nhé để build project
Lệnh mvn clean install giúp các bạn 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
11. Kết quả thành công khi bạn mở trình duyệt và truy cập vào link
Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí
- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT
- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT
- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT
- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản
1. Java backend api web service: CHI TIẾT
2. Thiết kế website
2.1 Thiết kế website cơ bản: CHI TIẾT
2.2 Thiết kế website nâng cao: CHI TIẾT
- Học spring framework không sử dụng spring boot: CHI TIẾT
Khóa học java web cơ bản nâng cao đi làm với spring boot, spring framework tại Laptrinhjavaweb Academy
2. Tạo project Spring MVC sử dụng Spring Boot 2.0.x, Intellij sau khi biết spring boot là gì
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. Các bạn tiếp tục làm theo các bước như hình
3. Các bạn 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 các bạn
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 các bạn cứ chọn version nhỏ nhất (cụ thể lúc laptrinhjavaweb coding là 2.4.10, còn sau này là version khác thì các bạn chủ động chọn cái khác nhé), 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 các bạn chọn vị trí lưu project các bạn mong muốn
6. Mở file POM.xml, các bạn thay đổi version 2.4.10 thành 2.0.9.RELEASE
7. Trong folder src -> main các bạn tạo folder webapp, trong webapp các bạn tạo folder WEB-INF, trong folder WEB-INF các bạn tạo file web.xml
Các bạn 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. Các bạn 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 các bạn tạo folder views, trong folder views các bạn tạo file home.jsp như hình bên dưới
10. Các bạn 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 các bạn tạo 2 package con là config và controller
Trong package config các bạn 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 các bạn 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 các bạn 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, các bạn add tomcat ngoài như sau
13. Tiếp tục như hình
14. Các bạn 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, các bạn 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
Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí
- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT
- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT
- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT
- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản
1. Java backend api web service: CHI TIẾT
2. Thiết kế website
2.1 Thiết kế website cơ bản: CHI TIẾT
2.2 Thiết kế website nâng cao: CHI TIẾT
- Học spring framework không sử dụng spring boot: CHI TIẾT
Tham gia livestream, workshop học java miễn phí cùng Laptrinhjavaweb
Tham gia group facebook để hỏi đáp trong quá trình học
Các kênh để nhận thông báo sớm nhất, hỏi đáp miễn phí trong quá trình học
Để có thể nhận thông báo nhanh nhất về các nội dung mà Laptrinhjavaweb biên soạn, các bạn follow facebook, youtube, nhóm Zalo. Trong quá trình học, cần hỏi đáp thì các bạn join vô nhóm facebook để hỏi đáp nhé
1. Nhận thông báo
- Facebook Laptrinhjavaweb: XEM TẠI ĐÂY
- Facebook cô giáo Lâm: XEM TẠI ĐÂY
- Youtube: XEM TẠI ĐÂY
- Nhóm Zalo nhận thông báo: XEM TẠI ĐÂY
2. Hỏi đáp miễn phí, report bug, gợi ý nội dung
- Nhóm Facebook hỏi đáp miễn phí: XEM TẠI ĐÂY
Trên mạng có rất nhiều nguồn, tài liệu để học rất vui khi các bạn chọn Laptrinhjavaweb. Chúc các bạn học vui, hiệu quả cùng Cô giáo Lâm và Laptrinhjavaweb
Khóa học java web cơ bản nâng cao đi làm với spring boot, spring framework tại Laptrinhjavaweb Academy