Xử lý các vấn đề bất thường trong hệ thống vi dịch vụ Java bằng cách thiết lập thời gian chờ hoặc bắt lỗi
Bắt đầu với mã nguồn:
Phía máy chủ:
Trong phương thức của máy chủ, đoạn code 10/0 chắc chắn sẽ gây ra lỗi.
@Autowired
private PaymentService paymentService;
@GetMapping("/payment/hystrix/errorInfo")
public CommonResult handleError() {
String result = paymentService.generateError();
log.info("***** ...
Đăng vào ngày 5 tháng 6 lúc 03:20
Xác thực danh tính trong Shiro - Realm
1. Khái niệm Realm
Realm là nơi lưu trữ dữ liệu an ninh (người dùng, vai trò, quyền hạn).
Để xác thực danh tính, SecurityManager cần truy xuất dữ liệu từ Realm để kiểm tra thông tin đăng nhập, đồng thời lấy thông tin vai trò/quyền để kiểm soát thao tác người dùng.
2. Triển khai Realm tùy chỉnh
package com.example.shiro;
import java.util.HashSe ...
Đăng vào ngày 4 tháng 6 lúc 23:21
Thiết kế và triển khai hệ thống chăm sóc và làm đẹp cho thú cưng dựa trên Spring Boot (mã nguồn + tài liệu)
Các tính năng của chương trình:
Một số đoạn mã tham khảo:
SQL cơ sở dữ liệu:
Giới thiệu về công nghệ sử dụng:
Giới thiệu về Spring Boot:
Giới thiệu về MySQL:
Bài viết liên quan:
Các đoạn mã tham khảo:
package com.service.impl;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
import com.baomidou.mybati ...
Đăng vào ngày 4 tháng 6 lúc 19:14
Nguyên lý cốt lõi của EA Async: Cách lớp Transformer sửa đổi bytecode để thực hiện chức năng await
Nguyên lý cốt lõi của EA Async: Cách lớp Transformer sửa đổi bytecode để thực hiện chức năng await
[Liên kết tải miễn phí] EA Async là một công cụ mạnh mẽ giúp triển khai các phương thức async-await trên JVM. Nó sử dụng kỹ thuật chuyển đổi bytecode, cho phép lập trình viên viết mã bất đồng bộ dễ dàng như trong các ngôn ngữ khác. Bài viết này sẽ ...
Đăng vào ngày 4 tháng 6 lúc 18:09
Xử lý Ngoại lệ và Thư viện Tiêu Biểu trong Java
Tổng quan
Ở các phần trước, chúng ta đã làm quen với những kiến thức nền tảng về Java cũng như các nguyên lý lập trình hướng đối tượng. Trong phần này, chúng ta sẽ tìm hiểu về cơ chế xử lý ngoại lệ và các thư viện thường được sử dụng trong quá trình phát triển ứng dụng. Đây là những yếu tố then chốt giúp code trở nên ổn định và dễ bảo trì hơn. ...
Đăng vào ngày 4 tháng 6 lúc 06:32
Mẫu thiết kế (3) - Mẫu nhà máy
Bài viết trước: Mẫu đơn thể
1. Mẫu nhà máy là gì?
Mẫu nhà máy (Factory Pattern) là giải pháp thiết kế giúp tách biệt quá trình khởi tạo đối tượng khỏi logic sử dụng. Thay vì trực tiếp dùng từ khóa new, chúng ta sử dụng một "nhà máy" trung gian để tạo ra các thể hiện thông qua giao diện chung. Ví dụ thực tế: Khi mua điện thoại, bạn chỉ cần nhậ ...
Đăng vào ngày 4 tháng 6 lúc 05:43
Giải Lỗi PySparkRuntimeError: JAVA_GATEWAY_EXITED Trong PySpark
PySparkRuntimeError: [JAVA_GATEWAY_EXITED] Java gateway process exited before sending its port number - Lỗi này thường xuất phát từ các vấn đề về cấu trúc môi trường và sự tương thích phiên bản giữa Java, Python, Spark và PySpark.
Tương thích Phiên bản
Trước khi bắt đầu cấu hình môi trường, bạn nên kiểm tra sự tương thích giữa các thành phần. ...
Đăng vào ngày 4 tháng 6 lúc 00:25
Mẫu thiết kế Factory tĩnh - Triển khai máy tính đơn giản
Giới thiệu về mẫu Factory tĩnh
Mẫu thiết kế Factory tĩnh (còn gọi là Simple Factory Pattern) giúp giải quyết vấn đề khi thiết kế phần mềm cần mở rộng. Thay vì để client trực tiếp khởi tạo các đối tượng, chúng ta sử dụng một factory class để封装 quá trình khởi tạo. Điều này giúp code dễ bảo trì và mở rộng hơn.
Bài viết này sẽ hướng dẫn bạn các ...
Đăng vào ngày 3 tháng 6 lúc 23:34
Ba Đặc Điểm Nổi Bật Của Java
Lập trình hướng đối tượng sở hữu ba đặc điểm cốt lõi: đóng gói, kế thừa và đa hình.
Đóng gói che giấu cơ chế triển khai bên trong của lớp, cho phép thay đổi cấu trúc nội bộ của lớp mà không ảnh hưởng đến cách sử dụng, đồng thời bảo vệ dữ liệu. Đối với bên ngoài, các chi tiết nội bộ bị ẩn đi, chỉ có phương thức truy cập được công bố.
Kế thừa nhằ ...
Đăng vào ngày 3 tháng 6 lúc 22:45
MyBatis Executor Interceptor Implementation Guide
Bảng nội dung
Giới thiệu
Giai đoạn thực thi của interceptor
Cấu hình interceptor
Interceptor Executor
Chỉ chặn các thao tác insert và update
Chỉ xử lý các bảng cụ thể
Ví dụ mã hoàn chỉnh
Giới thiệu
Bài viết trước chúng ta đã tìm hiểu về việc sử dụng interceptor ParameterHandler trong MyBatis. Tuy nhiên, trong quá trình thực thi của int ...
Đăng vào ngày 3 tháng 6 lúc 22:04