Gradle之恋(14)-实战spring mvc插件式多项目构建

楔子

本文继上一篇的Gradle多项目构建,来具体创建一个web项目,取名为kweb(king of web),代码托管于github.主要是使用spring mvc+gradle+servlet3.0的web fragment特性来进行web插件式开发,旨在提供一个集成基础功能模块的快速开发半成品web框架.
Gradle

kweb结构

kweb的结构如下,demo-frament是用于实例插件,demo-web用于实例web,kbase-fragment和kuser-frament分别是基础插件和用户插件

├── build.gradle #Gradle build.gradle
├── buildscript
│   └── gretty.plugin #gretty 插件
├── demo-fragment #demo插件
├── demo-web #demo website,可以把别的插件配置到此web主题
├── gradle #gradle wrapper,把gradle.bin放在此目录,避免了下载缓慢
│   └── wrapper
│   ├── gradle-3.3-bin.zip
│   ├── gradle-wrapper.jar
│   └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── kbase-fragment #kbase插件 基础插件,比如验证码
├── kuser-fragment #kuser插件 用户管理管理相关
├── kutils #kweb的工具项目
└── settings.gradle #gradle的多项目配置文件

插件的结构,如kuser-frament

kuser-fragment/
└── src
├── main
│   ├── java #java代码
│   └── resources
│   ├── META-INF
│   │   ├── resources
│   │   │   ├── assets #插件的js,css,图片等资源
│   │   │   └── WEB-INF
│   │   │   └── jsp #插件的jsp文件,当然也可以使用其他模板
│   │   │   └── user
│   │   │   └── login.jsp
│   │   └── web-fragment.xml #插件的部署配置文件
│   └── spring
│   └── application-config.xml #插件的spring bean配置文件
└── test
├── java #java单元测试
└── resources #java单元测试资源
├── log4j.properties
├── properties
└── spring
├── application-config.xml
└── dispatcher-servlet.xml

clone代码后,可以进入code执行gradle命令

./gradlew demo-web:appRun

或windows下

gradlew.bat demo-web:appRun

即可根据提示打开"http://localhost:8080/demo-web/" 预览.

贡献

kweb是我计划作为长期维护的一个开源项目,如果你感兴趣可以fork并贡献代码,虽然目前并不完善,但相信开源的力量,相信大众的力量.

翟前锋 wechat
欢迎订阅我的微信公众号:zhaiqianfeng!