springboot脚手架,逐渐成长成一个优秀的开源框架
springboot基于spring和mvc做了很多默认的封装。这样做的好处极大的方便了开发者的效率。尽管与此我们每个人还是需要有一些自己个人的脚手架。方便我们秒级搭建项目。此项目就是基于次为出发点进行了企业的规范设置。
项目介绍
基于Spring + SpringMVC + Mybatis敏捷开发的一套系统框架。zxhtom目前是针对管理端进行封装的一个架构。里面内置的页面也是为了方便管理和开发的。但是架构上预留出前后分离的方案。次架构所有的设计都与前后分离思想耦合。shiro-service模块就可以用来做单点登录。只不过在架构中他不仅仅是单点登录的功能。他的作用是对第三方服务的一个模块。它可以将系统中的接口通过注解讲接口发布给第三方。就是支付宝、微信等目前推出的商户功能。既然是架构眼观就得放远点。万一实现了呢。
除此之外架构还提供了数据自动生成、定时任务、系统监控、用户管理、日志管理等模块。技术点包含redis集群和单机、验证码功能、双数据源、接口规范、swagger、druid、websocket等等。
通过次脚手架简化了项目的配置。只需要引入
<dependencies>
<dependency>
<groupId>com.github.zxhTom</groupId>
<artifactId>framework-root</artifactId>
<version>${framework.version}</version>
<type>POM</type>
<scope>IMPORT</scope>
</dependency>
<dependency>
<groupId>com.github.zxhTom</groupId>
<artifactId>framework-core</artifactId>
<version>${framework.version}</version>
</dependency>
</dependencies>
这两个jar。然后项目中建立springboot启动类就行了。这里需要在启动类上添加扫包注解。包路径至少得包含com.zxhtom.因为我的脚手架都是在com.zxhtom包下进行开发的。
其他的细节配置就是在application.yml中配置了。这里zxhtom提供一个配置模板(在framework-core模块中的application_back.yml)
关于配置里面说明。后续会出详细文档说明。
环境搭建
开发工具
- idea开发代码
- navicat操作数据库
- git管理代码
- nginx配置反向代理
- powerdesigner设计数据库及反向管理
- tomcat服务发布
- plsql操作oracle数据库
- Google浏览器
开发环境
- JDK8+
- Mysql5.7+
- Redis
- RabbitMQ
- Zookeeper
- Dubbo-admin
- Dubbo-monitor
- Tomcat8+
- Oracle12+
- Nginx
工具安装
- 关于安装就是idea存在破解,这里可以入群咨询。其他的服务都是用docker安装的。有需要的小伙伴可以私信我。根据情况会整理docker使用手册。后续项目也会发布成docker和上传至maven中央仓库
ps : 因为项目中用到的某些jar包因为种种原因中央仓库还没进行更新。所以这里为了保证项目能够正常的运行。运行读者自己手动安装至本地仓库
jar下载地址 (提取码:k1ne)
bottom项目在线clone地址
至于手动安装至本地仓库命令 mvn install:install-file -Dfile={Path/to/your/ojdbc.jar} -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar
系统架构

启动项目
package com.zxhtom;
import com.zxhtom.config.CoreConfig;
import com.zxhtom.config.QuickStartConfig;
import com.zxhtom.config.SpringfoxConfig;
import com.zxhtom.config.WebMvcConfig;
import com.zxhtom.framework_task.conf.TaskConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
/**
* 入口类, 扫描并注入其他配置类和服务
*/
@SpringBootApplication
@EnableCaching
@ComponentScan("com.zxhtom")
@Import({QuickStartConfig.class,CoreConfig.class,TaskConfig.class,WebMvcConfig.class,SpringfoxConfig.class})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}














springboot脚手架,逐渐成长成一个优秀的开源框架的更多相关文章
- Android 优秀的开源框架整理
第一部分:系统架构 thinkAndroid https://github.com/white-cat/ThinkAndroid ThinkAndroid是一个免费的开源的.简易的.遵循Apache2 ...
- 【.Net】优秀的开源框架
AutoMapper 官网:http://automapper.org/ github:https://github.com/AutoMapper/AutoMapper 文档:http://autom ...
- 国内优秀MVC开源框架jfinal简介
JFinal简介 JFinal 项目开发始于2011年初,作者詹波(James Zhan)曾任搜格信息技术有限公司Java架构师,北京信息管理科学研究所CTO,现任微格网际(北京)科技有限公司联合创始 ...
- 比较强大 优秀的开源框架 :Android图片加载与缓存:Android Glide 的用法
使用Android Glide,需要先下载Android Glide的库,Android Glide在github上的项目主页: https://github.com/bumptech/glide . ...
- springboot脚手架liugh-parent源码研究参考
1. liugh-parent源码研究参考 1.1. 前言 这也是个开源的springboot脚手架项目,这里研究记录一些该框架写的比较好的代码段和功能 脚手架地址 1.2. 功能 1.2.1. 当前 ...
- DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP
DELPHI优秀的一些开源框架:QDAC,MORMOT,DIOCP 程序员搞任何语言的程序开发上升到一定的层次,要想进步,必须要接触和学习使用优秀的开源框架. MORMOT封装了WINDOWS最新的H ...
- GitHub 优秀Android 开源项目
阅读目录 1.Xabber客户端 2.oschina客户端 3.手机安全管家 4.星座连萌 5.玲闹铃 6.魔乐盒 7.PWP日历 8.Apollo音乐播放器 9.夏普名片识别 10.高仿人人网 11 ...
- Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦
个人博客 对于技术人员来说,拥有自己的个人博客应该是一件令人向往的事情,可以记录和分享自己的观点,想到这件事就觉得有意思,但是刚开始写博客的时候脑海中是没有搭建个人博客这一想法的,因为刚起步的时候连我 ...
- Web 项目可能会用到的20款优秀的开源工具
开源的应用程序和它们的源代码可以免费获得,因为版权是属于任何进行过修改或者提交代码的人.大多数提供开源软件的公司都可以建立行业标准,因此可以获得有利的竞争优势. 很多的开源应用程序和工具都有很强的替代 ...
随机推荐
- WinForm控件之【CheckBox】
基本介绍 复选框顾名思义常用作选择用途,常见的便是多选项的使用: 常设置属性.事件 Checked:指示组件是否处于选中状态,true为选中处于勾选状态,false为未选中空白显示: Enabled: ...
- UEditor 之初体验后记
1.UEditor 基本介绍 1.1.关于 UEditor 1.2.UEditor 现状 2.UEditor 简单使用 2.1.将 UEditor 源码集成到项目中 2.2.让 UEditor 的 U ...
- jQuery - parents() 获得最近的祖先元素方法
答案 : parents()[0] <div class="pg-ins layer p_close"> <div class="sign_con&qu ...
- 创建 gif
1.动态创建 <Container name="layLoading"/> if (m_pLoadingGif == NULL) { m_pLoadingGif ...
- java高并发系列 - 第16天:JUC中等待多线程完成的工具类CountDownLatch,必备技能
这是java高并发系列第16篇文章. 本篇内容 介绍CountDownLatch及使用场景 提供几个示例介绍CountDownLatch的使用 手写一个并行处理任务的工具类 假如有这样一个需求,当我们 ...
- oracle分隔字符串列转行
1. DEMO: SELECT REGEXP_SUBSTR('1,2', '[^,]+', 1, LEVEL) FROM DUAL CONNECT BY REGEXP_ ...
- 面试中的 ThreadLocal 原理和使用场景
相信大家不管是在网上做题还是在面试中都经常被问过 ThreadLocal 的原理和用法,虽然一直知道这个东西的存在但是一直没有好好的研究一下原理,没有自己的知识体系.今天花点时间好好学习了一下,分享给 ...
- Python基础总结之第四天开始【格式化‘字符串’】(新手可相互督促)
年薪20万... 字符串格式化: 先看小案例-------: a = 'hello,my name is %s,I like %s.'%('XiaoHong','football') #在字符串中,[ ...
- Spring AOP 面向切面的Spring
定义AOP术语 描述切面的常用术语有: 通知 (advice) 切点 (pointcut) 连接点 (joinpoint) 下图展示了这些概念是如何关联的 Spring 对AOP的支持 Spring提 ...
- web设计_4_可扩展的行
不要指定横向页面组件的高度,要让它们能够在纵向自由扩展. 常见的包含文章正文或大段文字的区域,应该适应任何篇幅和大小的文字. 但是例如文章标题.登陆信息栏等也要考虑文字内容数量及高度的变化. 例如:下 ...