占用空间小的依赖注入java

占用空间小的依赖注入java,java,dependency-injection,frameworks,inversion-of-control,Java,Dependency Injection,Frameworks,Inversion Of Control,我正在寻找一个非常轻量级的java依赖注入框架。 具有最小可能的依赖项和最小功能 大致如下:接收类的java.util.List,实例化它们,然后将所有对象自动连接到另一个中。也许您应该看看Google Guice:我建议,因为这样在仅使用核心包时可以提供较小的占用空间 如果您认为Spring有些过分,那么也许,或者?一定要看看Guice。我已经使用它一年了,并且非常喜欢它。我已经尝试了不到一周了,我对它简洁明了的API感到满意。它没有使用XML或注释进行设置,而是使用了一个类似于DSL的流畅A

我正在寻找一个非常轻量级的java依赖注入框架。 具有最小可能的依赖项和最小功能


大致如下:接收
类的
java.util.List
,实例化它们,然后将所有对象自动连接到另一个中。

也许您应该看看Google Guice:

我建议,因为这样在仅使用核心包时可以提供较小的占用空间


如果您认为Spring有些过分,那么也许,或者?

一定要看看Guice。我已经使用它一年了,并且非常喜欢它。

我已经尝试了不到一周了,我对它简洁明了的API感到满意。它没有使用XML或注释进行设置,而是使用了一个类似于DSL的流畅API,这对我来说就像天堂一样,因为我正在使用它构建一个支持IoC的小型web容器。它为组件提供了一个线程范围,非常适合web容器的请求范围。它非常轻量级,因此可能就是您所需要的。

是关于
120K
单个jar文件,没有进一步的运行时依赖关系。它有一个像guice一样流畅的活页夹界面,但更灵活,允许删除您不喜欢的功能。例如,
Collection
List
注入可以添加在一行中。

看看dagger2,它是由google开发的(square's dagger1的分叉),只需要17kb的罐子

  • 比guice少很多样板文件
  • 注入的编译时验证(带有明确的错误消息。这是spring,guice绝对不会做的事情)
  • 编译后生成传真、代码非常有力

我赞成。Guice是轻量级的,侵入性很小。我建议Spring只使用BeanFactory实现——Spring的“重量级”特性大多来自于使用ApplicationContext,而人们不了解它的开销(尽管很酷的特性会带来这种开销)ApplicationContext添加在BeanFactory的顶部。PicoContainer完全符合要求