1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Spring Framework And Spring Boot Seminar

49 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Spring Framework And Spring Boot Seminar
Tác giả Phạm Nguyên Tú, Nguyễn Tấn Lợi, Hoàng Minh Nhật, Đặng Bảo Sơn
Chuyên ngành Programming with Java
Thể loại Project Assignment
Định dạng
Số trang 49
Dung lượng 3,77 MB

Nội dung

NGUYÊN NHÂN RA ĐỜI SPRING FRAMEWORK Việc phát triển ứng dụng Java gặp phải nhiều thách thức và ràng buộc với việc sử dụng Enterprise Mong muốn đơn giản hóa việc phát triển ứng dụng Ja

Trang 1

BOOT

Trang 2

GIỚI THIỆU CHUNG

Assignment Sping framework, Spring boot

Short Description Overview of spring framework and spring bootCompare Spring boot to ASP.NET core

Spring boot demo

Technologies/Models/

Tools/Languages Spring, Spring boot, Spring initializr, etc.

Trang 3

N Ộ I D U N G

T R Ì N H B ÀY

KHÁI QUÁT SPRING FRAMEWORK

VÀ SPR ING BOOT

SPRING BOOT VS ASP.NET COR E

DEMO SPRING BOOT

Trang 4

KHÁI QUÁT SPRING FRAMEWORK VÀ

SPRING BOOT

Trang 5

KHÁI QUÁT SPRING FRAMEWORK VÀ

SPRING BOOT

LỊCH SỬ SPRING

FRAMEWORK

Trang 6

GIỚI THIỆU SPRING FRAMEWORK

Được tạo ra bởi Rod Johnson và

phát triển bởi Pivotal Software

(hiện nay là VMware) và ra mắt vào

năm 2003

Là một trong những framework

phát triển ứng dụng Java phổ biến

toàn cầu

Đạt được thành công lớn nhờ vào

hiện đại

Trang 7

NGUYÊN NHÂN RA ĐỜI SPRING

FRAMEWORK

Việc phát triển ứng dụng Java gặp

phải nhiều thách thức và ràng buộc

với việc sử dụng Enterprise

Mong muốn đơn giản hóa việc phát triển ứng dụng Java, cung cấp một

mô hình lập trình linh hoạt và dễ dùng hơn so với việc sử dụng EJB

Trang 8

SPRING FRAMEWORK 1.X

Tập trung vào hai khái niệm chính

thành phần trong ứng dụng một

cách dễ dàng và linh hoạt

Người phát triển có thể xác định và quản lý các bean (đối tượng) trong ứng dụng thông qua cấu hình XML , điều này giúp giảm sự phụ thuộc

cứng giữa các thành phần và tạo điều kiện cho việc kiểm thử và bảo trì dễ dàng hơn

Trang 9

• Hỗ trợ cho RESTful web services,

Java Configuration (thay thế cho việc cấu hình bằng XML), JPA-

based transaction management

và hỗ trợ cho Java EE 6

Trang 10

SPRING FRAMEWORK 4.X VÀ 5.X

Spring Framework 4.x:

• Hoàn toàn hỗ trợ Java 8

• Các tính năng mới như Lambda

Expression và Stream API

• Tăng cường hỗ trợ WebSocket và

cải thiện xử lý tương tác với

RESTful services

Spring Framework 5.x:

• Hoàn toàn tương thích với Java 8

• Hỗ trợ Reactive Programming với

Spring WebFlux, Reactive Streams và Kotlin

• Tăng cường tích hợp với Spring

Boot, Spring Cloud và Spring Security

Trang 11

KẾT LUẬN

Từ khi ra mắt vào năm 2003, Spring

Framework đã trải qua một hành

Trang 12

KHÁI QUÁT SPRING FRAMEWORK VÀ

SPRING BOOT

CẤU TRÚC VÀ KIẾN TRÚC CỦA SPRING FRAMEWORK

Trang 13

Core container Data

Access/Integration

Spring Framework được chia thành các mô-đun (modules) có tính năng riêng biệt, nhưng lại tương tác tốt với nhau Cấu trúc chính của Spring Framework bao gồm:

CẤU TRÚC CỦA SPRING FRAMEWORK

Trang 14

Core Container là một phần quan trọng của Spring Framework, bao gồm

hai mô-đun:

CORE CONTAINER

Spring-core:

• Cung cấp các thành phần cơ bản

như Inversion of Control (IOC) và

Dependency Injection (DI)

Spring-beans:

• Cung cấp các thành phần quản lý

và tạo ra các đối tượng (beans)

Trang 15

VÍ DỤ MINH HỌA CORE CONTAINER

public class HelloWorld {      private String message;

     public void setMessage( String message) {          this message = message;

    }

     public void printMessage() {          System out.println( "Message: " + message);

    } }

public class Main {      public static void main( String [] args) {          ApplicationContext context = new ClassPathXmlApplicationContext ( "beans.xml" );          HelloWorld helloWorld = ( HelloWorld ) context.getBean( "helloWorld" );

        helloWorld.printMessage();

    } }

Trang 16

DATA ACCESS/INTEGRATION

Spring Framework cung cấp hỗ trợ

mạnh mẽ cho việc làm việc với cơ sở

khác

Các mô-đun jdbc, spring-tx và spring-orm giúp thực hiện các tác vụ liên quan đến truy cập cơ sở dữ liệu và tích hợp các công nghệ ORM (Object-

như spring-Relational Mapping) như Hibernate

Trang 17

VÍ DỤ MINH HỌA DATA ACCESS/INTEGRATION

public interface UserDao {      User getUserById( int id);

     void saveUser( User user);

     public void saveUser( User user) {          String sql = "INSERT INTO users (id, username, password) VALUES (?, ?, ?)" ;         jdbcTemplate.update(sql, user.getId(), user.getUsername(), user.getPassword());     }

}

public class Main {      public static void main( String [] args) {          ApplicationContext context = new ClassPathXmlApplicationContext ( "beans.xml" );          UserDao userDao = ( UserDao ) context.getBean( "userDao" );

         User user = userDao.getUserById(1);

         System out.println(user.getUsername());

    } }

Trang 18

KIẾN TRÚC CỦA SPRING FRAMEWORK

Kiến trúc của Spring Framework tuân theo mô hình layered architecture

(kiến trúc theo tầng),chia ứng dụng thành các tầng khác nhau có chức

năng riêng:

Presentation Layer:

• Là tầng giao diện người dùng, nơi

xử lý các yêu cầu từ người dùng

Trang 19

KIẾN TRÚC CỦA SPRING FRAMEWORK

Data Access Layer:

• Là tầng truy cập dữ liệu, nơi xử lý

các yêu cầu truy cập cơ sở dữ liệu

• Có thể sử dụng các công nghệ

như Spring JDBC, Spring Data JPA

hoặc Spring ORM để làm việc với

• Spring Framework cung cấp các

công nghệ như Spring Integration

và Spring Web Services để hỗ trợ tích hợp dễ dàng

Trang 20

KHÁI QUÁT SPRING FRAMEWORK VÀ

SPRING BOOT

SPRING BOOT

Trang 21

TỔNG QUAN VỀ SPRING BOOT

Spring Framework, giúp các nhà

phát triển xây dựng ứng dụng web

và dịch vụ RESTful một cách nhanh

chóng và dễ dàng

Spring Boot giúp giảm độ phức tạp của việc cấu hình và triển khai ứng dụng Spring truyền thống bằng

cách sử dụng các tiêu chuẩn và quy

Trang 22

MỘT SỐ ĐẶC ĐIỂM NỔI BẬT CỦA SPRING

• Spring Boot cho phép chạy ứng

dụng Java mà không cần cài đặt môi trường server truyền thống như Tomcat hay Jetty

• Ứng dụng Spring Boot được đóng

gói dưới dạng file JAR hoặc WAR

và có thể được chạy một cách đơn giản

Trang 23

MỘT SỐ ĐẶC ĐIỂM NỔI BẬT CỦA SPRING

BOOT

Tích hợp dễ dàng:

• Spring Boot tích hợp tốt với nhiều

công nghệ và thư viện phổ biến

trong cộng đồng

• Có thể dễ dàng tích hợp các công

nghệ như Spring Data, Spring

Security, Thymeleaf, và nhiều hơn

nữa vào ứng dụng Spring Boot

Quản lý phụ thuộc:

• Spring Boot giúp quản lý các phụ

thuộc (dependencies) trong ứng dụng một cách tự động và hiệu quả

• Chỉ cần khai báo các phụ thuộc

trong file cấu hình và Spring Boot

sẽ tự động tải về và quản lý phiên bản phù hợp.

Trang 24

SPRING BOOT

VS ASP.NET

CORE

Trang 25

SPRING BOOT

VS ASP.NET

CORE

NGÔN NGỮ HỖ TRỢ

Trang 26

NGÔN NGỮ CỦA ASP.NET

Asp.net thuộc hệ sinh thái Microsoft net, hỗ trợ ngôn ngữ F#, VB nhưng

phổ biến nhất là C# :

C# là ngôn ngữ strongly typed hiệu

quả, được sử dụng chủ yếu cho việc

xây dựng app window và web

Trang 27

CÁCH BIÊN DỊCH CỦA C#

Trang 28

NGÔN NGỮ CỦA SPRING BOOT

Spring boot thuộc hệ thống spring framework, hỗ trợ ngôn ngữ kotlin ,

Java được xây dựng là một ngôn

Trang 29

CÁCH BIÊN DỊCH CỦA JAVA

Trang 30

SPRING BOOT

VS ASP.NET

CORE

KIẾN TRÚC VÀ NGUYÊN TẮC

Trang 31

KIẾN TRÚC CỦA ASP.NET CORE VÀ SPRING BOOT

Giống Kiến trúc • Tổ chức code của ứng dụng theo lớp (layer) có chức năng riêng biệt layered architecture :

• Các lớp sẽ tương tác với các lớp trên hoặc lớp dưới

Khác Các thành phần được mô đun hóa định hướng microservice Các mô đun thiên hướng monolithic

Trang 32

NGUYÊN TẮC CỦA ASP.NET CORE VÀ SPRING BOOT

Trang 33

Việc sử dụng 2 principle là DIP và

IoC giúp đạt được loosely coupling

(liên kết lỏng) giữa các lớp (class

not layer) với nhau

Scaling, optimizing và tdd driven-development) dễ dàng và khả thi hơn

Trang 34

(test-SPRING BOOT

VS ASP.NET

CORE

XỬ LÝ CUTTING

CROSS-CONCERNS

Trang 35

XỬ LÝ CROSS-CUTTING CONCERNS CỦA ASP.NET CORE VÀ SPRING

BOOT

nhưng ảnh hưởng tới nhiều thành phần của hệ thống khác nhau

Asp.net core:

• Sử dụng một khái niệm gọi là

cross-cutting

• Filter Pipeline cho phép ta thêm

các filter vào pipeline xử lý yêu

cầu, mỗi filter có thể thực hiện

một tác vụ cụ thể rồi chuyển yêu

cầu đến filter tiếp theo trong

pipeline

Spring boot:

• Sử dụng mô hình AOP

(aspect-oriented-programming) để xử lý các tác vụ cross-cutting, mô đun hóa các vấn đề đó

• AOP gồm các khái niện như

Joinpoint, Advice, PointCut, Aspect

Trang 36

SPRING BOOT

VS ASP.NET

CORE

TRUY CẬP DỮ LIỆU

Trang 37

TRUY CẬP DỮ LIỆU TRONG ASP.NET CORE VÀ SPRING BOOT

Asp.net core:

• Phổ biến nhất là thư viện ORM

LINQ (Language Integrated

query) để thao tác truy vấn, một

dạng API được đính kèm trong

ngôn ngữ C# để truy vấn nhiều

loại tài nguyên khác nhau

Spring boot:

• Phổ biến nhất là ORM Hibernate

(được kết hợp với Spring data JPA), với mỗi loại model thì có thể tạo ra lớp repository tương ứng, lớp đó sẽ cung cấp một số

method out of the box như findAll, findById, Ngoài ra, còn

có thể custom query bằng JPQL (Java persistence query

language)

Trang 38

DEMO SPRING BOOT

Trang 39

DEMO SPRING

BOOT

KHỞI TẠO DỰ

ÁN SPRING BOT

Trang 40

MỘT VÀI IDE CHO SPRING BOOT

Một vài IDE phổ biến cho spring boot bao gồm:

Ultimate

Trang 41

SPRING INITIALIZR

Spring Boot có một công cụ giúp chúng ta khởi tạo project gọi là Spring Initializr

Spring Initializr có thể truy cập trên

web tại https://start.spring.io/

Với một vài ide như Intellij, Spring Initialir được tích hợp sẵn

Trang 42

Ta cần khai báo các thông tin project như:

manager (Maven hoặc Gradle)

SNAPSHOT là bản chưa ổn định

với Spring Boot thì nên chọn Jar để

đỡ cấu hình Tomcat server

tên artifact,

KHỞI TẠO DỰ ÁN SPRING BOOT BẰNG SPRING INITIALZR WEB

Trang 46

KHỞI TẠO DỰ ÁN SPRING BOOT BẰNG SPRING INITIALZR INTELLIJ

Trang 48

KHỞI TẠO DỰ ÁN SPRING BOOT BẰNG SPRING INITIALZR INTELLIJ

Ngày đăng: 16/06/2024, 21:27

w