要理解Struts2的源代码的一个核心是要理解它的对象容器的实现方式了。涉及的具体代码是接口com.opensymphony.xwork2.inject.Container.java,以及该接口的实现类com.opensymphony.xwork2.inject.ContainerImpl.java。在Struts2中容器的概念主要在于将使用了Inject注解的构造函数、方法和字段的依赖对象注入其中,方便在使用的时候直接从容器中取出对象。

以下为我对类ContainerImpl实现的理解,以注释的形式体现出来:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐