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

时间:2022-07-22
本文章向大家介绍Gradle之恋(14)-实战spring mvc插件式多项目构建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

楔子

本文继上一篇的Gradle多项目构建,来具体创建一个web项目,取名为kweb(king of web),代码托管于github:https://github.com/zhaiqianfeng/kweb.

主要是使用spring mvc+gradle+servlet3.0的web fragment特性来进行web插件式开发,旨在提供一个集成基础功能模块的快速开发半成品web框架.

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并贡献代码: https://github.com/zhaiqianfeng/kweb, 虽然目前并不完善,但相信开源的力量,相信大众的力量.