# delonix
**Repository Path**: jlin/delonix
## Basic Information
- **Project Name**: delonix
- **Description**: Delonix 框架是一个开发经验的积累,我将自己工作与学习中碰到的问题,经过梳理后整理出一些较为通用的方案,逐步形成一个可以用来快速开发的框架,欢迎大家探讨!
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 11
- **Forks**: 4
- **Created**: 2014-11-11
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: webframework
**Tags**: None
## README
# Delonix: 基于 spring-boot 的脚手架
## 脚手架的 Maven 依赖设计:
1. 【delonix】作为父项目,继承 spring-boot-starter-parent,并且在 dependencyManagement 预定义了一些依赖项,确保所有的子项目使用依赖项的版本统一
2. 【delonix-lib】用于存放 java 代码实现,所有依赖项都配置成 provided,具体要使用哪些依赖项由使用者另外再引入,避免依赖包冗余
3. 【delonix-web】作为web模块,依赖 spring-boot-starter-web;
日志输出使用 log4j2 不使用 spring 默认的 logback,所以排除 spring-boot-starter-logging 并引入 spring-boot-starter-log4j2;
为了避免在将 war 部署到 tomcat 时产生包冲突,将 spring-boot-starter-tomcat 的 scope 改成 provided;
为了支持 jsp,还需引入 tomcat-embed-jasper, scope 同样为 provided 以避免外部 tomcat 部署时的包冲突
## 运行 Maven 打包脚手架
1. mvn -P exe clean package 打包可以直接运行的 delonix-web.war,
运行方式:java -jar delonix-web.war;linux 下可将 delonix-web.war 安装成 service 运行
2. mvn -p deploy clean package 排除 lib/*.jar 及配置文件,打包得到只包含 jsp 文件的 delonix-web.war
## 首页与Controller
默认的首页控制器类为:DefaultIndexController,对应的 index.jsp 视图页面是一个简单的 Wellcome 页面,
默认首页控制器类使用了注解:@ConditionalOnMissingBean(name = "indexController")
在具体应用可以通过定义 @Controller("indexController") 重新定义首页控制器