Tới nội dung chính
caltalys.dev

#Spring

8 bài viết.

Đồ hình trừu tượng của tập 2.2 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 8

Hai method, hai @Transactional - mà chỉ một transaction để chết chung

@Transactional không nói mở transaction, nó nói method này cần chạy trong một transaction. Quyền quyết định nằm ở cái vỏ, và cái vỏ thò tay vào túi của thread.

Đồ hình trừu tượng của tập 2.1 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 7

Ném exception mà dữ liệu vẫn được commit

Cái vỏ có đó, lời gọi có đi qua nó, mà vẫn không rollback: bảng luật mặc định của Spring chỉ rollback với unchecked exception.

Đồ hình trừu tượng của tập 1.4 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 6

@Cacheable không cache - rồi khi cache được, nó trả nhầm đồ của người khác

Cache cũng chỉ là một cái Map, và khoá mặc định của nó chỉ gồm tham số. Hai method khác nhau cùng cacheNames là cùng một ô.

Đồ hình trừu tượng của tập 1.3 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 5

@Async của tôi chạy tuần tự như thường

Thiếu một dòng bật tính năng thì annotation chỉ còn là lời khai không ai đọc. Và khi nó chạy được rồi, exception lại chết ở một thread khác.

Đồ hình trừu tượng của tập 1.2 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 4

@Transactional gọi từ chính class mình lại không chạy

Lời gọi từ trong chính class không đi ra ngoài cái vỏ, nên không ai kịp làm gì cả. Bài này giải thích vì sao đừng bao giờ tin this.

Đồ hình trừu tượng của tập 1.1 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 3

getClass() của tôi in ra `$$SpringCGLIB$$`, tôi có làm hỏng gì không?

Vật được trao không phải vật bạn tưởng: vì sao Spring Boot đúc proxy bằng CGLIB kể cả khi đã có interface, và vì sao method final làm @Transactional bốc hơi.

Đồ hình trừu tượng của tập 0.2 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 2

Tôi POST JSON lên, mọi field đều null - và Spring vẫn trả 200?

Dãy quầy có người nhận-tất: vì sao thiếu một annotation thì Spring nhìn thấy request nhưng không ai đọc body, và không ai báo cho bạn biết.

Đồ hình trừu tượng của tập 0.1 trong Quyển Một
Lớp Trung Gian Vô Hình - tập 1

@Value của tôi bị null, và Spring không hề báo lỗi?

Kẻ đến quá sớm thì không được phục vụ - chuyện cái List được đổ đầy sau lưng bạn, và vì sao @Transactional trong @PostConstruct cũng im lặng vì cùng một lý do.