CDI là gì? Thực hiện DI và AOP với CDI

Nguồn : https://stackjava.com/cdi/cdi-la-gi.html

1. CDI là gì?

CDI (Contexts and Dependency Injection) là một chuẩn Java, cung cấp ngữ cảnh cho việc thực hiện Dependency Injection (DI).

(Nếu bạn hơi mơ hồ thì tạm hiểu nôm na CDI nó giống như 1 thư viện giúp chúng ta thực hiện Dependency Injection và AOP – giống như việc tạo các bean ở trong spring, jsf)

CDI cung cấp các lợi ích sau:

  • Thực hiện Inject các thành phần (Sử dụng annotation @Injection, tương đương với @Autowired trong Spring hay @ManagedProperty trong JSF)
  • Khả năng thực hiện Interceptor (AOP)
  • Định nghĩa các web scope (ngoài các scope tiêu chuẩn như request scope, session scope, appcliation scope)

2. Khái niệm bean trong CDI

CDI bean là bean được quản lý bởi CDI container (giống như các spring bean bị quản lý bởi spring container). Bean ở đây là các class Java mà chúng ta có thể lấy từ trong container. Để tạo 1 bean có rất nhiều cách như khai báo trong file config, sử dụng annotation…

Dưới đây là các ví dụ chi tiết về bean, các inject, interceptor với CDI:

Done! Thanks các bạn đã theo dõi bài viết!

Nguồn : https://stackjava.com/cdi/cdi-la-gi.html