jboot-admin

基于 jboot 微服务的后台管理框架
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 后台管理系统(模板)
软件类型 开源软件
地区 国产
投 递 者 斜博超
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

项目介绍

jboot-admin是基于强大的微服务框架jboot开发的后台管理框架,采用微服务架构设计思想,分为api层、服务实体层、服务调用层、服务实现层、服务基础层,涵盖了jboot提供的大部分功能,包含代码生成、认证权限、数据字典、日志管理、服务治理、服务监控、链路跟踪等功能,包含很多jboot微服务实战开发技巧,无论是学习jboot微服务开发还是作为鲜项目脚手架开发都是一个不错的选择。

jboot-admin主要的开发理念就是简单快速,所以框架里还包含一些其他特性,比如:统一异常,省去了很多if else去返回提示,抛出的异常可直接转化为前端提示。数据字典缓存、数据字典指令、状态指令,解耦了业务、状态、数据字典,在需要decode的地方直接使用指令即可。还有很多很多期待你去代码里发现.

技术选型

  • 核心框架:jboot 1.2.8

  • 模版引擎:jfinal enjoy 

  • 注册中心:consul/zookeeper

  • RPC:motan/dubbo

  • RPC治理:motan-manager

  • 安全框架:shiro

  • 缓存框架:ehcache/redis

  • 容错隔离:hystrix

  • 调用监控:hystrix-dashboard

  • 链路跟踪:zipkin

  • 页面ui:layui

模块说明

  项目为使用maven构建的多模块项目

  • jboot-admin-parent:父模块,主要管理依赖

  • jboot-admin-base:框架相关代码

  • jboot-admin:客户端模块

  • jboot-admin-service:服务端模块,包含api、entity、provider三个模块

  • jboot-admin-service-api:服务api模块,定义服务端与客户端api标准

  • jboot-admin-service-entity:服务实体模块,定义服务所需model、dto管理服务状态

  • jboot-admin-service-provider:服务实现模块,针对api的实现

项目使用

请使用jdk8及以上版本,数据库为mysql。
1、建立数据库:doc/jboot-admin-mysql.sql,用户名密码root/root
2、启动consul或zookeeper,目前配置文件默认为motan,可进行更改,根据注释修改即可
3、启动redis,默认密码为 123456,可在配置文件进行修改
4、如需更改redis/consul等配置请更新客户端配置文件:jboot-admin/resources/jboot.properties
5、如需更改redis/consul/数据库配置请更新服务端配置文件:jboot-admin-service/jboot-admin-service-provider/resources/jboot.properties
6、启动客户端:客户端启动入口:io.jboot.admin.Application
7、启动服务端:服务端启动入口:io.jboot.admin.service.provider.app.Application
8、浏览器访问:localhost:8888,默认用户名密码:admin/123123

附加:
监控相关功能需要安装对应服务才可正常使用
注册中心监控需要安装:consul
服务调用监控需要安装:hystrix-dashboard
链路跟踪监控需要安装:zipkin-server
服务治理需要安装:motan-manager
这些都可以在网上下载或者自己编译,当然也可以加群下载

代码生成

对jboot 代码生成进行了配置文件的封装,使用更简单方便

先配置代码生成配置文件,包含数据库配置与代码生成包相关配置
然后执行代码生成入口类

provider实现类生成配置文件示例:
#---------------------------------------------------------------------------------#
# Generator Config
# jboot.admin.serviceimpl.ge.entity.package: the entity package;
# jboot.admin.serviceimpl.ge.servicepackage:service 接口 package
# jboot.admin.serviceimpl.ge.serviceimplpackage:service 实现类 package
# jboot.admin.serviceimpl.ge.localdev.removedtablenameprefixes: 需要移除表名前缀只留下后部分,多个逗号隔开
# jboot.admin.serviceimpl.ge.localdev.excludedtable: 生成时不包含表名列表,多个逗号隔开
# jboot.admin.serviceimpl.ge.excludedtableprefixes: 生成时不包含表前缀,多个逗号隔开
#---------------------------------------------------------------------------------#
jboot.admin.serviceimpl.ge.modelpackage=io.jboot.admin.service.entity.model
jboot.admin.serviceimpl.ge.servicepackage=io.jboot.admin.service.api
jboot.admin.serviceimpl.ge.serviceimplpackage=io.jboot.admin.service.provider
jboot.admin.serviceimpl.ge.removedtablenameprefixes=sys_
jboot.admin.serviceimpl.ge.excludedtable=
jboot.admin.serviceimpl.ge.excludedtableprefixes=temp_,v_

配置文件位置:
各模块 resources/jboot.properties

代码生成入口:
service interface api生成:io.jboot.admin.service.api.ge.GenCode    
model 实体生成:io.jboot.admin.service.entity.GenCode
service impl 实现层生成:io.jboot.admin.service.provider.ge.GenCode

演示页面

登录界面:

 

资源管理:分为菜单与功能两种类型,菜单为左侧菜单树,功能为页面具体按钮或超链或其他资源内容,配置在资源管理内的资源只有通过授权后才可进行访问。

 

用户管理:配置系统的登录用户,并配置改用户角色。

 

角色管理:配置系统内角色,并配置角色具有哪些资源的权限。

 

数据管理:配置系统所需的字典参数,存储在缓存内,可灵活使用。 

注册中心监控:监控注册中心页面

 

服务调用监控:hystrix服务调用监控

 

服务链路跟踪:zipkin链路跟踪

 

服务治理:motan-manager服务治理

 

感谢

  • jboot-admin: 1.数据库部分: 数据库5.7 以上不支持group by查询需在my.ini 文件中加入代码: sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’ 没有my.in

  • Liunx 下设置开机启动consul: 在/etc/init.d下新建 consul.sh文件在文件中加上: #!/bin/sh #chkconfig: 2345 80 90 #description:consul.sh nohup /usr/local/consul/consul agent -server -bootstrap -ui -data-dir=/var/lib/consul-da

 相关资料
  • Jboot,专为大型分布式项目和微服务而生。她是一个基于jfinal 和 undertow开发的微服务框架。提供了AOP、RPC、分布式缓存、限流、降级、熔断、统一配置中心、swagger api自动生成、Opentracing数据追踪、metrics数据监控、分布式session、代码生成器、shiro安全控制等功能。 Jboot 的核心组件  MVC (基于jfinal)  ORM (基于jf

  • 在 Docker 下部署 Jboot 应用,我们除了通过 jboot.properties 给我们的应用进行配置以外,同时可以通过环境变量来配置,环境变量的优先级高于 jboot.properties 配置文件。 在docker下,通过 docker run 启动 jboot 应用容器时,可以通过 -e 参数来给 jboot 应用进行配置。 例如,我们需要给应用配置数据库信息: docker ru

  • Jboot 内置了一套监控机制,可以用来监控 Controller、Service 等的 API 访问情况,同时 Jboot 提供了如下 5 个注解,方便用户对API自由监控。 @EnableMetricConcurrency @EnableMetricCounter @EnableMetricHistogram @EnableMetricMeter @EnableMetricTimer 这些监控

  • Jboot 已经整合了对 Swagger 的支持,但是默认情况下并未依赖 Swagger 的相关依赖,因此,在使用 Swagger 之前需要添加如下的依赖: <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-core</artifactId> <version>1.5.21</version> </

  • 简介 Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架, 帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对 java 代码、html、css、js 等资源文件进行热加载。爽爽开发,快乐生活。 特点 目前已经开源超过了 3 年的

  • 类名修改 StrUtils -> StrUtil FileUtils -> FileUtil ClassKits -> ClassUtil EncryptCookieUtils -> CookieUtil RequestUtils -> RequestUtil ArrayUtils -> ArrayUtil JbootHttpKit -> HttpUtil @JBootRPCService ->