当前位置: 首页 > 软件库 > 开发工具 > Java开发工具 >

BHUDY

Java 快速开发框架
授权协议 Apache-2.0
开发语言 Java
所属分类 开发工具、 Java开发工具
软件类型 开源软件
地区 国产
投 递 者 齐志勇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Java快速开发框架,基于技术(Spring MVC、Apache Shiro、MyBatis、Spring Boot)对crud有较完整的封装,可以单表或者多表关联查询,底层架构也非常具有参考意义、快速入手、是学习入门的首选。

技术

  • 核心框架:Spring Framework、Spring Boot
  • 安全框架:Apache Shiro
  • 视图框架:Spring MVC
  • 任务调度:quartz
  • 持久层框架:MyBatis
  • 数据库:Mysql
  • 缓存框架:Redis
  • 日志管理:slf4j
  • 工具类:POI

前端推荐

vue-element-admin

无缝接入vue-element-admin

功能

- java
    - com
        - ktr 动环监控包
            - utils 工具包
                - KtrUtils 获取设备数据及数据解析工具类
                - SerialComm 串口通信工具类
        - sys bhudy系统包
            - annotation 自定义注解
                - ManyToOne 多对一表关联
                - OneToMany 一对多表关联
                - PrimaryKey 主键
                - SkipAttribute 对有该注解的属性不做反射
            - base 公共service层
                - BaseService 公共BaseService接口
                - BaseServiceImpl 公共BaseService实现类
                - QueryFilter 查询条件
                - Relation 数据库关键字枚举
            - controller controller层
            - dao 公共dao层
                - BaseDao baseDao
            - entity 实体类
            - exception 全局异常
                - SysException 自定义异常
                - SysExceptionCode 状态码及描述
                - SysExceptionHandler 全局异常拦截器
            - guacamole apache的guacamole,web版的远程桌面
            - interceptor 拦截器
                - BodyReaderHttpServletRequestWrapper 重写HttpServletRequest,复制request流
                - HttpHelper 获取Body的值
                - InterceptorConfig 添加拦截器
                - SysFilter 过滤器
                - SysInterceptor 自定义拦截器
            - listener 监听器
                - SysListener 程序生命周期监听器
            - quartz 任务调度
            - service service层
                - impl service实现包
            - shiro shiro安全框架
                - CORSAuthenticationFilter shiro过滤器
                - CustomSessionManager 重写DefaultWebSessionManager,解决跨域问题
                - RetryLimitHashedCredentialsMatcher 登陆次数限制
                - ShiroConfig shiro配置
                - ShiroRealm 继承AuthorizingRealm,重写认证和授权方法
            - utils 工具包
                - AesCBCUtil AES-128-CBC加密
                - ExcelUtil Excel处理工具类
                - MailUtils 邮箱处理工具类
                - MongodbUtils Mongodb工具类
                - RedisUtil redis工具类
                - RequestUtils Request返回数据格式化工具类
                - ShiroUtils shiro工具类
                - SnmpUtils snmp4j工具类
                - SwaggerConfig 接口文档Config启动类
                - TxtExportUtils 代码生成工具类
                - Utils 工具类
                - WeChatUtils 微信公众号和小程序工具类
            - websocket websocket
                - ShellWebSocketServer shh websocket
                - SysWebSocketServer 发送页面消息websocket
                - WebSocketConfig 开启WebSocket支持
                - WebSocketTunnel guacamole远程桌面websocket
    - resources
        - mapping papping映射文件
        - static 静态文件
        - templates 前端页面存在目录,如果使用vue这个文件就不要了

开始

1. 准备环境JDK1.8+、Maven3.2+、MySql5+、推荐使用idea开发工具。
2. 克隆项目 git clone https://gitee.com/bhudy/bhudy.git
3. 找到 resources.static.res.bhudy.sql 文件创建数据库 
4. 运行 com.BhudyApplication.main
5. 访问http://127.0.0.1:8089/sysLogin (账号:bhy 密码:bhy00000)
6. 如果需要后端控制跳转登录页面需要把application.yml里面的bhudy.routerControl改成'0'

开发

- Test 实体类

- TestService service层继承 BaseService ↓↓↓
  public interface TestService extends BaseService<Test, Serializable> {

  }

- TestServiceImpl service实现类继承 BaseServiceImpl 并且实现 TestService ↓↓↓
  @Service
  public class TestServiceImpl extends BaseServiceImpl<Test, Serializable> implements TestService {

  }

- 简单的使用 ↓↓↓
  @Autowired
  private TestService testService;
  QueryFilter queryFilter = new QueryFilter()
  testService.findList(queryFilter);

- 带条件查询 ↓↓↓
  @Autowired
  private TestService testService;
  QueryFilter queryFilter = new QueryFilter(); // 查询条件 第一个查询条件自动替换成where
  queryFilter.and("name", "张三"); // and查询name sql: and name = #{name} param: 张三
  queryFilter.clear(); // 清除所有查询条件
  queryFilter.andLike("name", "张三"); // andLike查询name sql: and name like #{name} param: 张三
  queryFilter.or("age", 20); // or查询age sql: and age = #{age} param: 20
  queryFilter.sql("and name = ?", "李四"); // 复杂查询使用sql语句查询 sql: and name = #{argMap.arg0} param: 李四
  queryFilter.limit(0, 10); // 分页
  queryFilter.order(Relation.ASC, "age") // 排序
  testService.findList(queryFilter); // 查询列表

→→→ 更多功能等着您发现哦 ←←←

打包发布

1. 如果打war包需要删除com.sys.websocket.WebSocketConfig类里面的serverEndpointExporter方法
2. pom.xml文件中找到packaging,有jar包和war包2个选择
3. 在idea中右侧找到Maven Project进行clean、package 操作即可在target目录下找到刚刚打好的程序包。
 相关资料
  • 本文向大家介绍在windows下快速搭建web.py开发框架方法,包括了在windows下快速搭建web.py开发框架方法的使用技巧和注意事项,需要的朋友参考一下   用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方便和顺手,就是web.py。它由一名黑客所创建,但是不幸的是这位创建者于2013年自

  • 本指南将解说如何构建并测试用于开发的 Ceph 。 开发 run-make-check.sh 脚本会安装 Ceph 依赖,一切都在调试模式下编译、并进行一系列测试,以验证结果正如所需。 $ ./run-make-check.sh 开发集群的部署 Ceph 包含一个名为 vstart.sh 的脚本(还有开发集群的部署),可以让开发者们在开发系统上用最简部署快速地测试代码。编译成功后,用下列命令开始部

  • 4.1. 1、业务边界优化 创业公司有很多可变性,要做的系统也无数,如何保证业务系统的边界是非常难的,我们其实走了很多弯路,图-稍后补 4.2. 2、静态api理论 当需求和ue定下来之后,就开始编写静态api,这样app、h5、前端就可以使用静态api完成功能,而后端也可以以静态api为标准来实现,整体效率还是比较高的。 另外还有基于api生成http请求的思考(未完成) 4.3. 3、api约

  • 本文向大家介绍jquery Easyui快速开发总结,包括了jquery Easyui快速开发总结的使用技巧和注意事项,需要的朋友参考一下 最近工作很轻松,整理了些关于easyui的datagrid的开发文档,整理的比较细致,直接复制粘贴就可以使用了。 代码内容如下: 以上代码示例给大家分享了jquery Easyui快速开发,希望大家喜欢。

  • 页面开发 Weex框架要求使用 Vue2.0 进行页面开发。开发者通过编写 *.vue 文件,基于<template>,<style>,<script> 快速构建组件化的应用。 页面开发模式 页面开发模式: 第一种:单页面(SPA) 通过 Vue-router + Vuex 来实现。这种方式是通过Router的方式来进行页面切换,如果页面不需要太多的交互效果,可以使用这种方式来实现。 第二种:独立

  • 开发调试 首先安装 Weex 官方提供的 Playground ,这是一款安装在手机(Android & iOS)端的 页面预览和调试工具。 weex-toolkit中包含了调试工具weex devtools,它是专门为Weex定制的一款实现了 Chrome Debugging Protocol 的 inspect/debug 工具,能够帮助你快速查看 app 运行状态和调试 Weex 中的 JS

  • 1.HPB是什么? 在你开发HPB 应用之前,我想为您简单介绍下HPB芯链,具体请看HPB是什么. 2.如何获得HPB代码? HPB代码已经开放,如若您想查看HPB源码,请登陆Github. 3.HPB节点介绍? 从开发者的角度来说,HPB节点分为主网的维护节点,运行BOE板卡,第一阶段为150个节点,这些节点会参与交易的打包出块验签,其他则为开发者常用的同步节点。 对于开发者来说,通常来说我们只

  • OAuth2单一登录 这是一个具有HTTP基本身份验证和单个用户帐户的Spring Cloud“Hello World”应用程序app.groovy @Grab('spring-boot-starter-security') @Controller class Application { @RequestMapping('/') String home() { 'Hello World