From Eclipsepedia
The Eclipse 4 dependency injection framework exposes OSGi services for consumption to clients by default. This removes a lot of the boilerplate ServiceTracker code and allows clients to simply annotate a field to have an OSGi service injected.
API Comparison
Service retrieval
|
| OSGi APIS |
Eclipse 4 Dependency Injection |
public class Model {
private EventAdmin eventAdmin;
public Model(BundleContext ctxt) {
ServiceTracker tracker = new ServiceTracker<EventAdmin, EventAdmin>(
ctxt, EventAdmin.class, null);
tracker.open();
eventAdmin = tracker.getService();
}
}
|
public class Model {
@Inject
private EventAdmin eventAdmin;
}
|