序言
光看这个标题,就让人想到了Spring
当创建一个实例时,就将该资源传到构造器中。 Icon
是拼写检查器的一个依赖,在创建 Elvis
时就将 Icon
注入其中。这其实就叫做依赖注入。
public class Elvis {
private final Icon icon;
public Elvis(Icon icon) {
this.icon = icon;
}
}
其实一般可以拿 java8 新提供的 Supplier 来做更便捷。
public class Elvis {
private final Icon icon;
public Elvis(Supplier<Icon> supplier) {
this.icon = supplier.get();
}
public static void main(String[] args) {
Elvis elvis = new Elvis(Icon::new);
}
}
总之呢,这种情况希望多用框架,毕竟做的比较完善。