Câu hỏi phỏng vấn Spring
Câu hỏi

Khi bạn gắn đánh dấu một phương thức với @Transactional trong Spring, thực sự xảy ra điều gì?

Câu trả lời

Khi một phương thức trong Spring được đánh dấu với annotation @Transactional, điều này báo hiệu cho Spring Framework rằng phương thức đó nên được thực thi trong một giao dịch cơ sở dữ liệu. Dưới đây là những điều cụ thể xảy ra:

1. Quản lý giao dịch tự động

Spring sẽ tự động bắt đầu một giao dịch cơ sở dữ liệu mới ngay trước khi phương thức được gọi và cam kết (commit) giao dịch sau khi phương thức hoàn thành mà không có bất kỳ ngoại lệ nào được ném ra. Nếu có một ngoại lệ không được bắt được ném ra từ phương thức, Spring sẽ tự động rollback giao dịch, đảm bảo rằng không có thay đổi nào được thực hiện trong cơ sở dữ liệu trong quá trình thực thi phương thức.

2. Tính năng Propagation

Spring quản lý cách giao dịch được truyền từ một phương thức sang phương thức khác thông qua thuộc tính propagation của @Transactional. Ví dụ, nếu một phương thức được đánh dấu @Transactional gọi một phương thức khác cũng được đánh dấu @Transactional, bạn có thể kiểm soát liệu phương thức thứ hai có sử dụng giao dịch hiện tại hay bắt đầu một giao dịch mới.

3. Cấu hình Isolation

Annotati...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Tại sao các controllers là những đối tượng có thể kiểm thử được trong Spring?

middle

@RequestMapping là gì và nó có chức năng gì?

middle

Sự khác biệt giữa Bean FactoryApplication Context là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào