我正在为用 Java/Scala 编写的 GUI 应用程序寻找一个简单易用的 IoC 容器。
它应该支持约定优于配置、生命周期管理、代码中的配置(最好根本不需要任何 XML)以及尽可能在编译时检查依赖关系。类似于Autofac的东西将是完美的。
我正在为用 Java/Scala 编写的 GUI 应用程序寻找一个简单易用的 IoC 容器。
它应该支持约定优于配置、生命周期管理、代码中的配置(最好根本不需要任何 XML)以及尽可能在编译时检查依赖关系。类似于Autofac的东西将是完美的。
听起来你需要像Google Guice这样的东西。
过去有不少用于 Java 的 IoC 容器(例如PicoContainer),但多年来它们都处于 Spring 的阴影之下。不过,对于您的需求,Spring 可能有点过头了。
Guice 重新开始了一些健康的竞争。
如果你要纯 Scala,你可以看看 Sindi: http ://aloiscochard.github.com/sindi
注意:我是 Sindi 项目作者
Google Guice 相当不错:
http://code.google.com/p/google-guice/
您也没有任何 XML gunk,您只需以编程方式创建模块并在其中一起编写内容,例如将接口(TransactionLog)绑定到实现类(DatabaseTransactionLog):
public class BillingModule extends AbstractModule {
@Override
protected void configure() {
bind(TransactionLog.class).to(DatabaseTransactionLog.class);
}
}
PicoContainer是一个高度可嵌入、提供全方位服务的控制反转 (IoC) 容器,用于支持依赖注入模式的组件。该项目始于 2003 年,开创了 Constructor Injection 自动布线的先河。它也是开源的,因此可以免费使用。许可证是 BSD,因此您可以安全地将其与商业或其他开源软件一起使用。