<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
public class DependencySource {
private String name;
@Inject
public DependencySource() {
this.name = "DefaultName";
}
public String getName() {
return name;
}
}
public class DependencyTarget {
private DependencySource dependency;
@Inject
public DependencyTarget(DependencySource dependency) {
this.dependency = dependency;
}
public void printDependencyName() {
System.out.println(dependency.getName());
}
}
public class DependencyInjector {
@Inject
private DependencySource dependency;
public void injectDependencies(DependencyTarget target) {
injectMembers(this);
target.printDependencyName();
}
}
public class Test {
public static void main(String[] args) {
DependencyInjector injector = new DependencyInjector();
DependencyTarget target = new DependencyTarget();
injector.injectDependencies(target);
}
}