Tôi muốn sử dụng tính năng tiêm phụ thuộc trong một ứng dụng độc lập Java 7 lớn, nhưng tôi không thực sự chắc chắn bắt đầu từ đâu.Tiêm phụ thuộc vào ứng dụng độc lập Java 7
Tôi đã viết một ứng dụng thử nghiệm nhỏ:
public class Main {
@Inject
MyInterface myInterface;
public static void main(String[] args) {
Main m = new Main();
System.out.println(m.myInterface.getMessage());
}
}
với một giao diện:
public interface MyInterface {
String getMessage();
}
và thực hiện một giao diện:
@Singleton
public class MyInterfaceImpl implements MyInterface {
public String getMessage() {
return "Hello World!";
}
}
Các pom.xml
chứa một sự phụ thuộc:
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
Ứng dụng này biên dịch, nhưng tất nhiên, nó treo với NPE
khi cố gắng in thư. Việc tiêm đã không xảy ra.
Vì vậy, câu hỏi của tôi là:
- thể Dependency Injection thể đạt được trong một ứng dụng độc lập Java 7?
- Tôi phải bao gồm những phụ thuộc nào khác để làm cho nó phụ thuộc?
- Có ai có ví dụ hoạt động đơn giản để chia sẻ (tôi không thể tìm thấy bất kỳ) nào không?
Định nghĩa của bạn về một ứng dụng độc lập là gì? –
Nó không cần một máy chủ web/container để chạy ... Java SE ... – JVerstry