Hãy nói rằng chúng tôi có một lớp:Làm thế nào để tiêm phụ thuộc vào một đối tượng tự khởi tạo trong mùa xuân?
public class MyClass {
@Autowired private AnotherBean anotherBean;
}
Sau đó, chúng tôi tạo ra một đối tượng của lớp này (hoặc một số khuôn khổ khác đã tạo ra các thể hiện của lớp này).
MyClass obj = new MyClass();
Vẫn có thể tiêm phụ thuộc? Một cái gì đó như:
applicationContext.injectDependencies(obj);
(Tôi nghĩ rằng Google Guice có một cái gì đó như thế này)
Câu trả lời hay (+1). Ngoài ra còn có một phương pháp thứ hai, nơi bạn có thể ảnh hưởng đến cách tự động xảy ra: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/AutowireCapableBeanFactory.html# autowireBeanProperties% 28java.lang.Object,% 20int,% 20boolean% 29 –
Nhưng nếu tôi có hai đối tượng và thứ tự autowires thứ hai. Làm thế nào autowire nhà máy đậu giao dịch với phụ thuộc trong trường hợp? –
Đây thực sự là một mẫu xấu. Nếu đây là cách bạn thực sự sử dụng MyBean tại sao không chỉ có constructor với AnotherBean làm tham số. Một cái gì đó như: 'code' private @Autowired AnotherBean bean; public void doStuff() {MyBean obj = new MyBean (đậu); } 'code'. Dường như giống với tất cả các chú thích này, mọi người trở nên thực sự bối rối và không sử dụng mẫu cơ bản trong java SDK kể từ ngày 1. :( – Denis