Web-fragment高度模块化Java项目(集成SpringMVC)
概要
这篇文章是基于Servlet 3.0规范提供的web fragment特性做的模块化开发,Servlet主要有以下三方面特性:
参考http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/
其中可插入特性(web fragment)这个是本文的重点,开发者可以通过插件化的开发扩充已有的web应用,不需要修改原有的系统,某个模块甚至可以单独运行。
视频好像不怎么清楚,可以下载观看,百度网盘:http://pan.baidu.com/s/1qWmDlUW
源码下载
百度网盘:http://pan.baidu.com/s/1dDd6jtR
项目目标
实现项目模块的完全独立,相互隔绝,独立运行,打包所有资源文件到Jar中
web fragment项目结构
除了项目结构不同,其他和web应用完全一样,配置文件web-fragment.xml和web.xml除了根节点不同,其他也完全一样,同样可以注册servlet,filter,listener等
整体项目结构
项目依赖关系
项目属性
项目名称 | Maven属性 | 打包方式 | Web项目属性 |
site | Project | POM | – |
site-web | Module | WAR | webapp |
site-user | Module | JAR | web fragment |
site-finance | Module | JAR | web fragment |
定义依赖关系
资源文件
所有资源文件放在resources文件夹下,这是固定的可以放置JS,CSS,IMAGE,HTML,FTL等资源文件
与Spring等框架集成
只需要将Spring等配置文件放到src/main/resources目录下,在web.xml或者web-fragment.xml中通过classpath*:spring-mvc.xml,就可以加载进来。
注意
项目每个模块之间不可以相互依赖,这样会造成循环依赖无法编译通过,同时依赖关系也不能形成闭环,也属于循环依赖,可以通过建立公共模块或者合理划分模块来完成。
打包效果
运行效果
转载请注明来源: http://www.xdemo.org/web-fragment-module-springmvc/