Java Spring
Spring là gì?
Spring là một framework mã nguồn mở, dựa trên Java. Nó hỗ trợ các developer Java tạo ra các ứng dụng web có hiệu ứng năng tốt, dễ test
Spring có lợi thế chính nào?
Có thể nói, câu hỏi này mang tính chủ quan từ phía người trả lời, dựa vào trải nhiệm của mỗi người sẽ xác định đâu là tính năng nổi bật nhất của framework này.
Các tính năng tốt nhất của Spring có thể được kể đến như: mã nguồn mở, có các template sẵn, dễ dàng sử dụng và kiểm thử, v.v.

Spring có bao nhiêu mô đun khác nhau?
Khoảng 20 module và được phân thành các vùng chứa (container) khác nhau. Các container bao gồm:
- Core container
- Web container
- Data container
- Access container
- Aspect và instrumentation container
- Test container
- Và một số container kích thước nhỏ hơn
MVC là gì?
MVC hay Model View Controller, nó được sử dụng để tạo ra các ứng dụng web khác nhau.
XML file là gì?
Đây là một tệp cấu hình Spring, chứa các thông tin về các lớp, cũng như cách mà chúng tương quan với nhau.
Spring framework có thể được sử dụng theo những cách nào?
Spring framework có thể được sử dụng theo các cách dưới đây:
- Sử dụng từ xa
- Sử dụng như một framework website của bên thứ ba (spring framework ở trung gian)
- Sử dụng như một ứng dụng web spring chính thức
- Sử dụng như một ean Java Enterprise có khả năng bao bọc POJO đang có (Plain Old Java Object)
Một số câu hỏi khác
Một số câu hỏi phỏng vấn java spring cơ bản khác có thể kể đến như:
- Kể tên tính năng của Spring Framework?
- Có mấy cách thực hiện Dependency Injection?
- AOP là gì?
- Join point được hiểu như thế nào?
- Bean là gì?
- v.v.

Câu hỏi nâng cao về spring framework
Tại sao ‘annotation wiring’ không hoạt động?
Mặc định, hệ thống sẽ không kích hoạt chức năng “annotation wiring”. Để kích hoạt nó, bạn cần bật nó trong tập tin cấu hình của mình.
Auto writing là gì?
Tính năng auto writing cho phép developer tự động inject bean vào ứng dụng mà không cần can thiệp một cách thủ công.
Concern và cross-cutting khác nhau như thế nào?
Concern được dùng khi triển khi một chức năng nhất định vào ứng dụng. Trong khi đó, cross-cutting concerns được áp dụng cho toàn bộ dự án (các module trong ứng dụng sẽ đều bị tác động).
Target object được hiểu như thế nào?
Target object dùng để chỉ một đối tượng trở thành trung tâm sự chú ý cho các khía cạnh. Bên cạnh đó, một số người lại coi nó như là một advised object.
@Cotroll được dùng làm gì?
Được dùng để đặt tên một lớp Spring được chỉ định.
DAO là viết tắt của thuật ngữ nào?
DAO hay Data Access Object, đây được coi là trợ thủ đắc lực giúp các developer tiếp cận và làm một cách thuận lợi hơn với các công cụ truy cập dữ liệu, trong đó chú ý nhất là công cụ có nguồn gốc Java.
@RequestMapping được dùng làm gì?
Được dùng để sắp xếp một phương thức HTTP xác định tới một lớp nhất định.
MVC interceptor được hiểu như thế nào?
Được dùng để xử lý các yêu cầu của khách hàng trước, trong và sau khi thao tác. Điều giúp hạn chế tối đa sự làm lặp lại của mã code.
Weaving: Weaving (Kết nối) là một kỹ thuật để tạo kết nối giữa các aspect tại thời điểm tải, biên dịch hoặc thời gian chạy của chương trình.