Spring Boot và những điều cần biết

Java spring boot là gì

Java spring boot là gì

Bạn biết bao nhiêu về boot mùa xuân? Hãy cùng tìm hiểu thêm về hệ sinh thái spring framework có gì đặc biệt qua bài viết dưới đây nhé!

Khởi động mùa xuân là gì?

khởi động mùa xuân là một dự án được phát triển bởi java (ngôn ngữ java) trong hệ sinh thái khung mùa xuân. Nó giúp các lập trình viên của chúng ta đơn giản hóa quá trình viết ứng dụng sử dụng spring, và chỉ cần tập trung phát triển nghiệp vụ cho ứng dụng.

Tạo và triển khai crud trong dự án khởi động mùa xuân

Hiện tại, spring boot có lẽ là framework nổi tiếng nhất và được sử dụng nhiều nhất để phát triển các ứng dụng bằng ngôn ngữ java. Được xây dựng trên spring framework, nó có tất cả các tính năng của spring cộng với sự tiện lợi mà nó mang lại, chẳng hạn như giảm thiểu các bước cấu hình phức tạp và tự động nhúng bộ chứa máy chủ (tomcat, jetty hoặc undertow) vào ứng dụng khiến việc khởi động ứng dụng ngay lập tức trở nên khả thi, quản lý phụ thuộc một cách thông minh,…

Tất cả những điều này đã tạo ra sức hấp dẫn lớn đối với cộng đồng nhà phát triển trên toàn cầu và các công ty đang dần chuyển sang khởi động mùa xuân cho các dự án tiếp theo của họ. Lựa chọn học spring boot ở thời điểm hiện tại là một quyết định đúng đắn, bởi thị trường việc làm của ngành này rất rộng lớn. Không chỉ vậy, nhiều công ty đang dần dần chuyển các dự án cũ từ spring sang spring boot, và các dự án mới sẽ hoàn toàn sử dụng spring boot.

  • Khởi tạo dự án khởi động mùa xuân
  • Để khởi tạo nhanh dự án khởi động mùa xuân, bạn có thể truy cập trang khởi tạo mùa xuân, chọn tham số cấu hình của dự án và các phụ thuộc cần thiết hoặc sử dụng các phụ thuộc sau để khởi tạo dự án maven:

    Lưu ý: Nếu sử dụng bộ khởi tạo mùa xuân, bạn có thể thêm các phần phụ thuộc này bằng cách chọn “Thêm phần phụ thuộc” trong tab “Phần phụ thuộc”.

    cấu trúc dự án khởi động mùa xuân

    Trong một dự án khởi động mùa xuân thường có các lớp chính:

    • Miền: Chứa Cơ sở dữ liệu – Ánh xạ thực thể
    • kho lưu trữ: định nghĩa lớp đối tượng truy cập dữ liệu để làm việc với cơ sở dữ liệu
    • Dịch vụ: Chứa các lớp logic nghiệp vụ
    • Trình điều khiển: nhận yêu cầu từ máy khách
    • mapper: được sử dụng để chuyển đổi giữa thực thể và dto (không thể có)
    • trình xử lý ngoại lệ: xử lý các ngoại lệ xảy ra trong quá trình thực hiện các yêu cầu của máy khách
    • Dự án sẽ có cấu trúc này khi hoàn thành. Bây giờ chúng ta sẽ bắt đầu đi từng cái một.

      • Lớp miền
      • Đối với hầu hết các dự án, chúng ta thường bắt đầu với lớp miền, sau khi phân tích thiết kế cơ sở dữ liệu, chúng ta sẽ đến các bước tiếp theo để xác định các thực thể ánh xạ các bảng tương ứng. cơ sở dữ liệu.

        Trong bài viết này chúng tôi sử dụng cơ sở dữ liệu h2, bạn có thể linh hoạt sử dụng các cơ sở dữ liệu khác như sql, mysql, mariadb,… tùy theo sở thích của mình. Vì phần sau sử dụng jpa và trình cung cấp jpa ở chế độ ngủ đông nên dễ dàng chuyển đổi qua lại giữa các cơ sở dữ liệu mà không ảnh hưởng đến mã. Trong khuôn khổ bài viết này, việc xác định một thực thể người dùng có thể thực hiện như sau:

        Các lớp thực thể phải được chú thích bằng @entity và tôi sử dụng các chú thích khác của lombok để giảm thiểu việc triển khai phương thức getter, setter, constructor,…

        • Lớp lưu trữ
        • Đây là tầng mà chúng ta định nghĩa các lớp để thao tác với cơ sở dữ liệu. Tuy nhiên, trong phần này, chúng ta không cần triển khai các phương thức cơ bản như findbyid(), findall, save(), delete(), update(), bởi vì chúng đã được triển khai thông qua một tập hợp các lớp trừu tượng, trước khi triển khai jpa thượng đẳng. Để sử dụng các tính năng cơ bản này, chúng ta chỉ cần khai báo một lớp kho lưu trữ kế thừa từ kho dữ liệu thô.

          • Lớp dịch vụ
          • Như đã đề cập trước đó, lớp dịch vụ sẽ là nơi đặt hoạt động kinh doanh chính của dự án, là cầu nối giữa lớp điều khiển và lớp lưu trữ. Đối với một ứng dụng thô sơ, chúng tôi cần ít nhất các phương thức để thêm, chỉnh sửa, xóa, cập nhật và tìm kiếm. Trước tiên, chúng ta cần định nghĩa giao diện dịch vụ người dùng và lớp userserviceimpl để triển khai các phương thức được xác định trong dịch vụ người dùng.

            Bạn có thấy phương pháp này “lạ” không? Tại sao chúng ta không tạo lớp dịch vụ người dùng và triển khai mã trong đó? Điều này hoàn toàn tốt, nhưng bạn cần lưu ý rằng đây là một cách để tăng khả năng mở rộng mã của bạn.

            Ví dụ: hiện tại dịch vụ người dùng và dịch vụ người dùng của chúng tôi đang hoạt động tốt. Trong giai đoạn sau, chúng tôi cần sửa đổi một số tính năng trong userserviceimpl để cải thiện hiệu suất hoặc thích ứng với các dịch vụ mới. Tuy nhiên do userserviceimpl phát triển lâu rồi nên code ở đây khó sửa nên chúng ta có thể tạo userserviceimpl mới và triển khai riêng việc implement userservice và code của userserviceimpl. Sau đó chúng ta chỉ cần chuyển sang sử dụng userserviceimplnew thay vì userserviceimpl mà không cần chỉnh sửa code ở nơi khác.

            Những nơi khác mà userserviceimpl đang được sử dụng có thể được sử dụng mà không cần sửa đổi, bởi vì userserviceimpl chưa được sửa đổi, chúng tôi có thể yên tâm rằng chức năng vẫn có thể được sử dụng.

            p>

            • Tạo
            • Đối với chức năng đầu tiên, chúng ta cần tạo một chức năng người dùng để tạo một bản ghi người dùng và lưu nó vào cơ sở dữ liệu.

              Bạn có thể tùy chọn thêm các tổng kiểm tra khác, chẳng hạn như email có hợp lệ hay không, email có tồn tại hay không, sau đó lưu nó vào cơ sở dữ liệu bằng phương thức save().

              Lưu ý: Khi sử dụng h2 trong dự án khởi động mùa xuân, nó được cấu hình tự động để sử dụng cơ sở dữ liệu h2-mem theo mặc định, nghĩa là khi đóng ứng dụng, dữ liệu sẽ bị mất.

              • Cập nhật
              • Sử dụng hàm update(), client cần chuyển cho chúng ta id của người dùng cần cập nhật và đối tượng người dùng chứa thông tin được cập nhật.

                • Xóa
                • Chức năng này rất đơn giản, chúng ta sẽ lấy một id người dùng, sau đó xóa người dùng có id tương ứng trong cơ sở dữ liệu.

                  • Tìm
                  • Có hai phương pháp thường được sử dụng: tìm kiếm id hoặc lấy tất cả.

                    • Lớp điều khiển
                    • Lớp cuối cùng được sử dụng để nhận yêu cầu từ máy khách, chúng ta sẽ cần chú thích @restcontroller để đánh dấu lớp là bộ điều khiển, @requestmapping, @getmapping, @postmapping, @putmapping, @deletmapping để chỉ định một api điểm cuối cụ thể.

                      Cần lưu ý rằng @requestbody được sử dụng để tự động phân tích nội dung yêu cầu thành đối tượng người dùng và @pathvariable được sử dụng để phân tích cú pháp id trong tham số đường dẫn.

                      Vậy là chúng ta đã biết cách xây dựng một ứng dụng khởi động mùa xuân đơn giản với chức năng cơ bản nhất mà ứng dụng yêu cầu. Ngoài ra, chúng tôi biết cách sử dụng chú thích để ánh xạ dữ liệu và tạo điểm cuối cho ứng dụng. Hi vọng bạn có thể áp dụng những kiến ​​thức chia sẻ trên!

                      Ứng dụng phần mềm

                      FPT Bách Khoa Hà Nội

READ  Sinh ngày 28/3 là cung gì? - Khám phá bí mật cung hoàng đạo

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *