[Java] Dependency injection trong Java spring - DRAFT VERSION

[DRAFT VERSION]
Dependency injection là một trong những kỹ thuật quan trọng của lập trình phần mềm. Nó giúp giảm sự rằng buộc giữa các class, giữa các module với nhau. Qua đó, giúp cho việc phát triển, mở rộng ứng dụng sau này dễ dàng hơn, giúp cho lập trình viên dễ dàng trong việc viết Unit test, Integration test sau này.

Java spring ngày càng phát triển và cải tiến không ngừng để trở thành một trong những framework thịnh hành nhất trong hệ sinh thái Java và phát triển các ứng dụng Enterprise.
Sau đây, mình sẽ giới thiệu cách áp dụng kỹ thuật Dependency injection trong 1 ứng dụng viết bằng Java spring.

- Có 3 cách để dependency injection trong Java Spring
+ Sử dụng constructor
+ Inject trực tiếp bằng field
+ Sử dụng setter

1. Sử dụng @Autowired  inject 1 field
2. Sử dụng @Primary
3. Sử dụng @Quantifier
4. Dynamic autowired
5. Lazy initial
6. Sử dụng @Bean để khởi tạo các bean có implementation là các class từ bên ngoài module
Ví dụ:
@Bean
public EmailProcessor emailProcessor() {
    return new EmailProcessorImpl();
}

Nhận xét

Bài đăng phổ biến từ blog này

[Lập trình] Optimistic vs Pessimistic Locking

[Interview] - Tổng hợp các câu hỏi thú vị trong lần nhảy việc đầu tiên