我是IOC的新手,目前正在学习Struts2框架的源代码。
通过学习,我对框架有一些基本的了解,比如ActionInvocation
处理程序拦截器等。
但是当我试图找出神秘的(至少对我而言)依赖注入部分时,我完全迷失了。
包com.opensymphony.xwork2.inject
中指定的注入机制很难理解。 ContainerImpl.inject(Object)
究竟如何完成所有工作?
或者,我应该从哪里开始才能理解DI?
答案 0 :(得分:1)
我个人认为this资源很有用。对于其他喜欢挖掘旧版本的用户指南,可以下载Guice 1.0 User's Guide.pdf。正如戴夫所说的
S2使用旧的(旧的!)黑客版Guice作为其DI。
因此,您可以将此页面用作Dependency Injection与Struts2的起点。
P.S。:
关于ContainerImpl.inject(Object)
将依赖项注入现有对象的字段和方法。
这并不神秘,因为Guice像Spring一样自动装豆子。像Guice这样的Spring可以使用注释来连接对象依赖项。