The same example from above can also be done using what is known as field injection. Instead of annotating the constructor with @Inject, we annotate the fields we wish to have injected
public class Spaceship {
@Inject
private PropulsionSystem propulsionSystem;
@Inject
private ...