Kỹ thuật Autowiring sử dụng annotation trong Spring Framework

Bài viết được sự cho phép của smartjob.vn

Có 3 cách để autowiring trong Spring là:
– Sử dụng annotation
– Sử dụng code Java
– Cấu hình trong file XML.

  Bảo mật ứng dụng Java web bởi Spring Security
  10 Frameworks tốt nhất hiện nay cho PHP

Trong bài viết này SmartJob giới thiệu đến các bạn kỹ thuật autowiring dùng annotation. Đây là cách autowiring nhanh, dễ thực hiện nhất, do chỉ cần đặt annotation @Autowired  trước phương thức set (dùng cho việc khởi tạo Object) (*) và đặt annotation @Service  trước class chứa phương thức (*).

Ví dụ dưới đây minh họa một giao dịch ngân hàng: chuyển tiền giữa 2 tài khoản.

Chuẩn bị công cụ:
– JDK 8 update 92 [1]
– IntelliJ IDEA 2016.1.2 [2]
– Maven 3.3.9 [3]
– Apache Tomcat 8.0.35 [4]
– Trình duyệt web (Google Chrome, Mozilla Firefox, v.v..)

Khởi tạo project:

create_new_project

Chọn project Maven từ archetype:

create_new_project2

Khai báo 3 tham số GAV khởi tạo project (GAV: Group – ArtifactId – Version)

create_new_project3

GroupId: vn.smartjob.demo
ArtifactId: demoSpring
Version: 1.0.0-SNAPSHOT (bạn nên dùng hậu tố -SNAPSHOT).

create_new_project4

Đặt tên project và chọn thư mục lưu project:

create_new_project5

create_new_project6

Bạn sửa lại file pom.xml như sau:

Các dependency quan trọng đã được highlight trong mã nguồn bên trên (dòng 22, 27, 32, 37, 42). Thư viện đã được import tự động:create_new_project7

Do project được tạo ra từ Maven archetype, do đó cần chỉnh sửa thêm. Bạn tạo thư mục java  để chứa mã nguồn.

create_new_project8

Bạn cần thao tác này để IntelliJ IDEA nhận diện thư mục java là thư mục chứa source code.

create_new_project9

Bạn sẽ tạo package (chứa các class Java) vào thư mục java vừa tạo ở trên.

Tạo thực thể tài khoản là Account:

Interface AccountDAO dùng làm khuôn dạng cho các phương thức truy vấn dữ liệu:

Triển khai class DAO thực tế:

Chúng ta có 2 tài khoản ngân hàng: Hoàng Thế Anh có 8 triệu đồng trong tài khoản (id = 1). Nguyễn Đức Hải có 4 triệu đồng trong tài khoản (id = 2). Để đảm bảo ví dụ minh họa không quá phực tạp, chúng ta không truy vấn vào cơ sở dữ liệu thực, mà sử dụng cơ sở dữ liệu mô phỏng, dạng HashMap. Các phương thức không liên quan đến CRUD (Creat- Read – Update – Delete) nguyên tử (mức nhỏ nhất của một truy vấn), sẽ xử lý bởi AccountService  và AccountServiceImpl .

File xml khai báo:

create_new_project10

Tạo file beans.xml  trong thư mục resources:

Ứng dụng chính:

Dòng code 13 và 21 rất quan trọng, nó được highlight để bạn chú ý.

Download source code: annotation-based-autowiring . Bạn cũng có thể clone/fork từ Github: https://github.com/SmartJobVN/annotation-based-autowiring

[1] http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
[2] https://www.jetbrains.com/idea/
[3] http://maven.apache.org/download.cgi
[4] http://mirror.downloadvn.com/apache/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35-windows-x64.zip (Windows 64 bit)

Bài viết gốc được đăng tải tại smartjob.vn

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev