如果我可以利用 Scala 2.8 的命名和默认参数功能,我更喜欢使用构造函数注入而不是 JavaBean 属性注入。是否存在任何支持该功能或可以轻松扩展的 IoC 容器?scala.reflect.ScalaSignature
(所需的信息在类的注释中运行时。)
我对 IoC 容器也有一些基本的(?)期望:
- 自动装配(通过目标类/特征或注释,一对一和一对多)
- 显式注入(显式接线)没有太多麻烦(就像 Guice 在那里很弱)。就像
user
是那样注入的new ConnectionPool(user="test")
。 - 关闭时清理的生命周期回调(按正确顺序)
Spring 显然可以做到这些,但它不支持命名参数。我曾考虑使用FactoryBean
-s 来桥接 Scala 和 Spring,但据我所知,这意味着太多麻烦(样板文件或代码生成)。