前言:

  我想要找一个 springboot + bootstrap 的例子介绍,然后搜索到了这个开源项目。

  所有能跑起来的项目都有研究价值,看看这个项目的文档。目前正好满足我想要的功能。推荐

正文:

  开源项目研究 : https://gitee.com/fuhoujun/e

项目介绍:

目的

E框架的目的是让开发不必从零开始开发,让开发者只关注自己的业务功能。

技术说明

  • 框架采用微服务的设计思想,而且各工程易分易合
  • 此框架采用前后台分开,前后台都可以单独部署,前端采用轻量级的扁平化设计(html+javascript+Bootstrap), 会自动针对不同的屏幕尺寸调整页面,使其在各个尺寸的屏幕上表现良好。
  • 后端采用Spring boot 、 Spring Cloud,不需要部署WAR 文件,可直接运行jar文件。
  • 系统权限框架采用spring-security oauth2,实现前后台权限校验,权限实现了用户授权和客户端授权。
  • 持久层采用JPA ,能够很好的适应不同数据库,并实现注解式动态查询功能。
  • 数据响应该采用json格式。
  • 服务采用REST形式,能够方便的与手机app进行对接,集成swagger能够在线查看RESTAPI 文档和在线测试服务接口
  • 支持单点登录,可以多系统进行菜单集成,形成一个portal。
  • 支持高并发和水平扩展,支持Session的统一存储。
  • 项目采用gradle构建,能够方便的将各项目进行按需组装。

构建须知

    • 设好jdk环境变量,项目需要jdk8,项目编码和数据库编码都采用UTF-8
    • 输出日志在eclipse下有乱码可以通过设置项目下的logback.groovy文件中日志编码为UTF-8来解决
    • 项目默认用到80端口,请检查80端口是否被占用
    • 为了演示方便默认数据库设为了H2数据库,演示时不用做数据库相关的任何设置,按照构建说明进行就可以了
    • 系统默认用户名密码分别为 admin 123456
    • 实际可设为mysql,修改resources\application.yml文件的数据库相关设置为实际值,建库建表数据初始化都会自动进行
    • 详细构建可看QQ群中的构建视频(E构建)

框架结构

部署示例

eclipse

    • 直接在e目录下运行gradlew eclipse 生成eclipse项目;导入e目录;运行e-example-single项目下的SingleApplicationMain文件;进入http://localhost;

    • 多系统启动可按下面顺序来启动各项目,最好等前一个项目启动完后再启动下一下项目

      • e-example-ms-db
      • e-example-ms-discovery
      • e-example-ms-upm
      • e-example-ms-oauth2
      • e-example-ms-log
      • e-example-ms-demo
      • e-example-ms-ui
      • e-example-ms-gateway

开源项目推荐:e-example / Springboot+bootstrap + ……的更多相关文章

  1. Nodejs开源项目推荐

    当我们学习一门新语言,不要用以前语言的习惯去使用新的语言,这样可能会导致走一些弯路.最好的办法就是去看一些写的比较好的开源项目,所以这里我推荐几个NodeJs的开源项目,花点时间去研究一下他们的实现, ...

  2. go语言值得学习的开源项目推荐

    谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也 ...

  3. 开发app应用的开源项目推荐

    app检测内存泄漏 请看这里:LeakCanary Android 和 Java 内存泄露检测 app应用想要控制状态栏 StatusBarUtil :https://github.com/laobi ...

  4. 值得研究的J2EE开源项目推荐

    导读:笔者在学习J2EE的过程中发现了一些很有用,而且很值得学习的开源项目,在此推荐给大家. 关键词:J2EE 开源项目 J2SE JBoss SOA EJB   这篇文章写在我研究J2SE.J2EE ...

  5. 【Spring Cloud & Alibaba全栈开源项目实战】:SpringBoot整合ELK实现分布式登录日志收集和统计

    一. 前言 其实早前就想计划出这篇文章,但是最近主要精力在完善微服务.系统权限设计.微信小程序和管理前端的功能,不过好在有群里小伙伴的一起帮忙反馈问题,基础版的功能已经差不多,也在此谢过,希望今后大家 ...

  6. 必须Mark!43个优秀的Swift开源项目推荐

    摘要:拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷.本文作者站在个人的角度,将2014年Swift开源项目做了一个甄别.筛选,从工具.存储.网络.界面.框架到Demo以及 ...

  7. 【转】43个优秀的Swift开源项目推荐

    作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在GitHub上各种优秀的开源项目也层出不穷.本文作者@SwiftLanguage从2014年6月苹果发布Swift语言以来,便通过 ...

  8. Asp.net Core相关教程及开源项目推荐

    入门 全新的ASP.NET:  https://www.cnblogs.com/Leo_wl/p/5654828.html 在IIS上部署你的ASP.NET Core项目: https://www.c ...

  9. 10大Python开源项目推荐(Github平均star2135)

    翻译 | suisui 来源 | 人工智能头条(AI_Thinker) 继续假日充电系列~本文是 Mybridge 挑选的 10 个 Python 开源项目,Github 平均star 2135,希望 ...

随机推荐

  1. Linux源码分析之:malloc、free

    之前写代码的时候一直有个疑问,malloc申请内存的时候指定了内存大小,但是free的时候却只指定要释放的内存地址,那么free是如何知道它要释放的内存空间大小呢? 源码之前,了无秘密,下面就从源码来 ...

  2. hadoop的五个守护进程【转】

    hadoop的五个守护进程  [转自]:http://xubindehao.iteye.com/blog/1395580 一般如果正常启动hadoop,我们可以在master上通过jps命令看到以下5 ...

  3. Java后端测试概述

    [本文出自天外归云的博客园] 多种单测技术 1. 要学会Spring MVC/Boot测试中自带的mock方法. 2. 学会junit中的方法,对于注解的使用等. 3. 学会使用结合第三方Mockit ...

  4. git学习相关的博客地址

    Git分支管理策略: http://www.ruanyifeng.com/blog/2012/07/git.html Git 使用规范流程: http://www.ruanyifeng.com/blo ...

  5. C# switch-case中的或(or)操作

    今天需要在switch中添加一个条件,类似if中的 " || “操作 switch(var) { : : ... break; : : ... break; ... } 这样条件2 5会执行 ...

  6. an error has occurred while trying to access the log file. logging may not function properly

    I had this issure a couple of days ago  when  open my vs2012 on windows8,by google i find the soluth ...

  7. Linux SWAP 交换分区大小与内存的关系

    LinuxSWAP交换分区大小与内存的关系SWAP(交换分区)[Windows虚拟内存]我们机房中一台Linux服务器运行缓慢,系统服务出现间歇性停止响应,让我过去处理一下这一问题,登录到服务器之后, ...

  8. Java设计模式(20)观察者模式(Observer模式)

    Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循 ...

  9. excel数据批量导入

    1.  html <form id="form_search" action="@Url.Action("UpLoadFile")" ...

  10. CSS非ASCII字符最佳实践

    问题场景 在写样式时经常需要用到非ASCII字符的属性值,如下: ? 1 2 3 4 5 6 7 8 9 10 11 .hot_list .sign_discount:before {    cont ...