欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

webwork2和spring的集成 博客分类: Java技术 SpringEXTWeb框架Servlet 

程序员文章站 2024-03-24 10:42:46
...
初步研究了一下包webwork2-spring.jar ,这是webwork2和spring通过xwork外部引用的方式进行集成的。(我个人还是比较喜欢这种集成方式,web层和容器的边界分明)

      以下是这种集成方式的具体细节:

1 org.springframework.web.context.ContextLoaderServlet或org.springframework.web.context.ContextLoaderListener负责从获取由web.xml中context-param中名称为“contextConfigLocation”的application-context文件,并初始化spring容器。

2 com.atlassian.xwork.ext.ResolverSetupServletContextListener负责遍历xwork文件中所有package的externalReferenceResolver,并把spring容器的ApplicationContext传给package的externalReferenceResolver。

3 com.atlassian.xwork.ext.SpringApplicationContextReferenceResolver负责把xwork文件中对应的package中所有的Action的外部引用名使用getBean的方式进行对象依赖注射。

4 com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor只是一个接口,解析Action的外部引用时实际执行的实现是com.atlassian.xwork.ext.SpringApplicationContextReferenceResolver。

      这种集成方式使用servlet技术和xwork的Interceptor机制进行Action中的对象依赖注射,避免了spring容器对web层逻辑代码的入侵,这样的思路值得在今后的框架设计中借鉴。

-----作者: Rangers