为了减少我的 Spring 配置中的样板数量(不使用组件扫描等),我想以“约定优于配置”的类似 Guice 的模式运行 Spring。
在 Guice 中,您不需要显式配置 bean。我可以创建一个如下所示的 bean 结构,Guice 将“做正确的事”:
class Foo {
@Inject
public Foo(Bar bar) {
}
}
class Bar {
@Inject
public Bar(Blah blah) {
}
}
class Blah {
public Blah() {}
}
在 Spring 中,我需要一个相关的@Configuration
类,该类将充满样板,如下所示:
class Config {
@Bean public void foo() {
return new Foo();
}
// etc.
}
我怀疑这可能通过自定义 BeanFactory 实现,但如果可以通过 Spring 中的其他方式实现,我想避免走这条路。
@ComponentScan
将是另一种选择,但我希望它可以处理我无法控制且没有适当弹簧@Component
注释的对象,并且我更喜欢使用手术刀方法而不是组件扫描的霰弹枪。