/ / Giới thiệu về Spring Framework

Giới thiệu về Spring Framework

Spring là một khung công tác Java sử dụng vùng chứa để tạo và quản lý các thành phần khác nhau của ứng dụng. Bộ chứa (thường được gọi là bối cảnh ứng dụng Spring) kết nối các thành phần khác nhau trong một ứng dụng bằng cách sử dụng mẫu thiết kế tiêm phụ thuộc (DI). DI cho phép bạn sử dụng một đối tượng trong lớp phụ thuộc mà không cần tạo một thể hiện mới của đối tượng đó trong lớp phụ thuộc.


Vì vậy, thay vì cho phép mỗi thành phần tạo phiên bản mới của những phiên bản mà chúng dựa vào, vùng chứa của Spring tạo và duy trì phiên bản của từng thành phần mà nó lưu trữ. Sau đó, bộ chứa này sẽ đưa một thể hiện của một thành phần vào tất cả các thành phần khác cần nó.


Khám phá các tính năng cốt lõi của Spring

Khung công tác Spring có khoảng 20 mô-đun được tổ chức tốt, đóng vai trò không thể thiếu trong khả năng tạo và quản lý ứng dụng. Dựa trên các tính năng chính của các mô-đun này, bạn có thể nhóm chúng thành năm loại:

  • Thùng chứa lõi
  • Truy cập/Tích hợp dữ liệu
  • mạng
  • Lập trình và thiết bị định hướng theo khía cạnh
  • Bài kiểm tra

Container mùa xuân

Spring sử dụng một bộ chứa để tạo và quản lý các thành phần khác nhau (mà nó gọi là các bean) của một ứng dụng. Vùng chứa có thể truy cập thông qua giao diện ApplicationContext của Spring, giao diện này cho phép bạn khởi tạo, định cấu hình và lắp ráp các đối tượng (hoặc đậu). Bộ chứa của Spring có thể thực hiện chức năng của nó nhờ sự trợ giúp của siêu dữ liệu cấu hình.

Siêu dữ liệu cấu hình này có thể có một số dạng khác nhau, nhưng dạng điển hình của nó là XML. Ngoài các bean, vùng chứa của Spring còn bao gồm một mô-đun lõi, ngữ cảnh và biểu thức.

Truy cập/tích hợp dữ liệu mùa xuân

Khía cạnh truy cập/tích hợp dữ liệu của khung công tác mùa xuân bao gồm một số mô hình con: JDBC, ORM, OXM, JMS và giao dịch. Các mô-đun này hoạt động cùng nhau để quản lý mọi dữ liệu mà ứng dụng của bạn sử dụng.

web mùa xuân

Tính năng web của ứng dụng Spring cung cấp tích hợp hướng web cho ứng dụng của bạn. Ngoài tích hợp hướng web, Spring còn cung cấp mô-đun web servlet. Mô-đun web servlet chịu trách nhiệm triển khai model-view-controller (MVC) của Spring.

Lập trình hướng khía cạnh mùa xuân (AOP)

Khung AOP của Spring là một trong những thành phần chính của nó. Mặc dù khung AOP không quan trọng đối với chức năng bộ chứa của Spring, nhưng nó bổ sung cho bộ chứa bằng cách trở thành một giải pháp phần mềm trung gian có khả năng. Một trong những tính năng chính của khung AOP là nó cung cấp các dịch vụ doanh nghiệp khai báo cho ứng dụng của bạn, cụ thể là quản lý giao dịch khai báo.

Quản lý giao dịch khai báo là một cách tiếp cận mong muốn để phát triển phần mềm vì nó có tác động tối thiểu đến mã ứng dụng.

Kiểm tra mùa xuân

Spring đặt tầm quan trọng đáng kể vào kiểm thử ứng dụng. Mô-đun thử nghiệm của nó hỗ trợ thử nghiệm tích hợp và thử nghiệm đơn vị bằng JUnit hoặc TestNG.

Tạo một ứng dụng mùa xuân

Có một số cách để tạo bản soạn sẵn cho một ứng dụng Spring mới. Các cách tiếp cận khác nhau bao gồm:

  • Từ ứng dụng web (hoặc Spring Initializr) tại trang web chính thức của Spring.
  • Tạo thủ công cấu trúc thư mục dự án và xây dựng thông số kỹ thuật.
  • Với Bộ công cụ mùa xuân.
  • Từ dòng lệnh với giao diện dòng lệnh Spring Boot.
  • Với IDE Eclipse.
  • Với IDE IntelliJ IDEA.

Cách tiếp cận phổ biến nhất là Spring Initializr:

Khởi tạo mùa xuân

Như bạn có thể thấy từ hình trên, bạn sẽ có một số quyết định để thực hiện. Đầu tiên là loại dự án bạn muốn khởi tạo. Spring cung cấp ba tùy chọn: Gradle cho Groovy, Gradle cho Kotlin hoặc Maven. Ứng dụng mẫu này sẽ sử dụng dự án Maven.

Các tùy chọn khác mà bạn phải chọn là ngôn ngữ (Java), phiên bản Spring Boot bạn muốn sử dụng và siêu dữ liệu của dự án. Spring đã có một số dữ liệu giả trong năm trường của nó sẽ giúp bạn tạo một ứng dụng mẫu. Tuy nhiên, bạn sẽ cần cập nhật các trường này với dữ liệu dành riêng cho dự án, vì siêu dữ liệu này sẽ mô tả ứng dụng Spring của bạn bao gồm Spring bean và các phương thức của chúng.

Siêu dữ liệu Intializr mùa xuân

Tiếp theo, bạn sẽ cần chọn gói mà bạn muốn chứa tệp của mình (jar hoặc war). Sau đó, bạn có thể chọn phiên bản Java bạn có trên thiết bị của mình. Quyết định cuối cùng bạn cần đưa ra là loại phụ thuộc bạn muốn cho ứng dụng của mình.

Spring cung cấp một số phụ thuộc mà bạn có thể sử dụng để thêm các thuộc tính vào ứng dụng của mình. Để thêm một phụ thuộc mới vào ứng dụng của bạn, chỉ cần nhấp vào nút thêm phụ thuộc ở bên phải của Spring Initializr. Hành động này sẽ tạo lớp phủ sau trên màn hình của bạn:

Lớp phủ khởi tạo mùa xuân

Đối với ứng dụng mẫu này, phần phụ thuộc duy nhất bạn cần là Spring Web. Sự phụ thuộc này cho phép bạn xây dựng các ứng dụng web bằng kiến ​​trúc MVC. Sau khi bạn đã chọn tất cả các phụ thuộc mà bạn muốn sử dụng trong ứng dụng của mình, hãy tiếp tục tạo nhấp chuột. Thao tác này sẽ tải xuống bản soạn sẵn của dự án cho bạn.

Bây giờ bạn có một dự án Spring Boot (là một trong những thư viện của Spring). Bước cuối cùng là nhập dự án vào IDE ưa thích của bạn. Dự án mùa xuân của bạn sẽ có cấu trúc dự án sau:

Cấu trúc dự án Spring Boot

Đây là cấu trúc dự án Maven bình thường và có một số tệp quan trọng mà bạn cần phải làm quen.

  • Pom.xml: Phần này chứa dữ liệu cấu hình ứng dụng Spring.
  • OnlineShopaholicsApplication.java: Đây là lớp chính của Spring Boot, lớp này thực thi ứng dụng.
  • OnlineShopaholicsApplicationTest.java: Đây là lớp thử nghiệm JUnit đảm bảo rằng bối cảnh ứng dụng Spring (hoặc vùng chứa) tải chính xác.

Chạy ứng dụng mùa xuân

Lớp bootstrap của Spring, trong trường hợp này là lớp OnlineShopaholicsApplication, có mã ban đầu như sau:

 package com.onlineshopaholics;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

Một trong những khía cạnh quan trọng nhất của đoạn mã trên là @SpringBootApplication chú thích, là chú thích tổng hợp cho phép ứng dụng của bạn truy cập các tính năng của ba chú thích khác:

  • @EnableAutoconfiguration: Chú thích này cho phép cấu hình tự động Spring Boot. Điều này có nghĩa là nó báo cho Spring boot cấu hình bất kỳ thành phần nào mà nó cho rằng ứng dụng của bạn sẽ cần để hoạt động.
  • @ComponentScan: Chú thích này cho phép bạn bật tính năng quét thành phần. Tính năng này rất quan trọng, nó cho phép Spring tự động khám phá và đăng ký các thành phần được chú thích khác để bối cảnh (hoặc vùng chứa) ứng dụng Spring sử dụng.
  • @SpringBootConfiguration: Đây là một dạng chuyên biệt của chú thích @Configureation, cho phép bạn đăng ký các bean (hoặc đối tượng) trong ngữ cảnh ứng dụng Spring.

Khía cạnh quan trọng khác của đoạn mã trên là chính() phương pháp, nó thực thi ứng dụng của bạn. Khi ứng dụng thực thi ngay bây giờ, nó chỉ cần khởi động máy chủ. Vì vậy, nếu bạn muốn thêm nhiều chức năng hơn cho ứng dụng, bạn sẽ cần cập nhật mã:

 package com.onlineshopaholics;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class OnlineShopaholicsApplication {
  public static void main(String[] args) {
    SpringApplication.run(OnlineShopaholicsApplication.class, args);
  }

  @GetMapping("/customer")
  public String Welcome(@RequestParam(value = "name", defaultValue = "Customer") String name) {
    return String.format("Welcome %s!", name);
  }
}

Ứng dụng Spring Boot hiện có ba chú thích mới:

  • @RestController: Chú thích này đánh dấu lớp là một bộ điều khiển, vì vậy mọi phương thức trong lớp trên (ngoài hàm main()) sẽ trả về một đối tượng miền thay vì một dạng xem.
  • @GetMapping: Chú thích này ánh xạ các yêu cầu HTTP GET vào các phương thức tiêu đề cụ thể. Vì vậy, mỗi khi bạn tạo một yêu cầu cho “/customer” trong trình duyệt, phương thức Welcome() sẽ xử lý yêu cầu bằng cách trả về một giá trị chuỗi.
  • @RequestParam: Chú thích này chỉ ra rằng tham số phương thức phải được liên kết với tham số yêu cầu web.

Với mã cập nhật Spring của bạn Ứng dụng nghiện mua sắm trực tuyến hiện có một trang khách hàng mà bạn có thể xem trong trình duyệt của mình. Việc thực thi ứng dụng sẽ khởi động máy chủ và tạo đầu ra trong bảng điều khiển.

Có rất nhiều thông tin quan trọng trong đầu ra. Nó cho bạn biết rằng máy chủ đang chạy, nó cho bạn biết quá trình khởi tạo mất bao lâu và nó cho bạn biết ứng dụng đang chạy trên cổng nào (8080, theo mặc định). Do đó, nếu bạn điều hướng đến http://localhost:8080/customer, bạn sẽ thấy kết quả sau trong trình duyệt của mình:

Đầu ra trình duyệt ứng dụng mùa xuân

Bây giờ bạn có thể thiết kế chế độ xem ứng dụng của mình

Một tệp quan trọng khác trong cấu trúc dự án mà bạn có thể nhận thấy là mẫu thư mục. Lý tưởng nhất là Ứng dụng nghiện mua sắm trực tuyến lớp sẽ đóng vai trò là bộ điều khiển, xử lý các yêu cầu cho các chế độ xem khác nhau. Do đó, trong một ứng dụng hoàn chỉnh, lớp trình điều khiển không được chứa văn bản sẽ hiển thị trong dạng xem yêu cầu của nó.

Thay vào đó, bạn sẽ cần tạo các tệp mẫu bằng HTML và đặt chúng trong thư mục mẫu của ứng dụng Spring của bạn.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *