0

有没有办法使用核心 java/reflection 来加载创建依赖对象并将其设置为 other 作为依赖项?

我可以做到,但在处理嵌套 bean 时面临问题。

最终,我对使用 spring 进行简单的使用不感兴趣。

非常感谢任何帮助。

4

4 回答 4

3

我建议不要手动进行,很难让它正确,当已经存在大量解决方案时,为什么要重新发明轮子?-
java的依赖注入规范是JSR-299 ,如果你不想使用Spring ,你可以使用Weld
库作为参考实现你也 可以考虑Guice框架,它是一个轻量级的DI框架。

于 2012-09-13T12:14:47.450 回答
2

您不需要框架即可使用 DI。

你可以

  • 创建所有对象,例如使用 new
  • 通过构造函数传递所有必需的对象/参数。
  • 通过设置器传递可选参数。
  • 传递只能在以后通过 setter 构造的对象。

您也可以编写自己的 IoC 来执行此操作,但如果您想要简单,最好用 Java 编写它。

BTW:如果你想要运行时加载,你可以根据需要在运行时编译和加载 Java 代码。

于 2012-09-13T12:18:51.300 回答
1

我不会在这里重新发明轮子,可能你应该使用一个轻量级的依赖注入容器。

或许这篇文章会帮助你做出选择: DI 容器

希望这可以帮助

于 2012-09-13T12:18:33.653 回答
0

我自己写的。

虽然有几个先决条件

  1. 格式化您的 xml 以减少解析器的负载。我已经定义<bean id="xyz" class="package path of class">了用于声明类和<parameter name="xyz" value="val"> /或<parameter name="xyz" ref="beanid">实例变量的 xml 元素。参数可以指向另一个对象的值或引用
  2. 在解析器方面,所有 bean 都是使用反射创建并发布到 hashmap 中,从那里可以使用参数通过引用或值注入依赖项

很简单。感谢所有评论

于 2012-10-03T09:10:16.133 回答