【发布时间】:2012-12-12 15:47:21
【问题描述】:
为了减少我的 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 将是一个替代方案,但我希望它适用于我无法控制且没有适当的 spring @Component 注释的对象,并且我更喜欢使用手术刀方法而不是组件扫描霰弹枪。
【问题讨论】:
标签: java spring dependency-injection guice