开源项目bootdo的实战开发笔记
开源项目bootdo 源码地址:https://github.com/lcg0124/bootdo
技术选型
1、后端
- 核心框架:Spring Boot
- 安全框架:Apache Shiro
- 模板引擎:Thymeleaf
- 持久层框架:MyBatis
- 数据库连接池:Alibaba Druid
- 缓存框架:Ehcache 、Redis
- 日志管理:SLF4J
- 工具类:Apache Commons、Jackson
2、前端
- JS框架:jQuery
- 客户端验证:JQuery Validation
- 富文本在线编辑:summernote
- 数据表格:bootstrapTable
- 弹出层:layer
- 树结构控件:jsTree
1.使用这个框架开发系统也有一个多月了。但是我当初使用的版本还是1.6版本,集成的模块没有那么全面,但是足够让我积累一下这个框架中比较好的功能与技术:
(1)、使用了springboot开源框架,不用多说,如今非常流行的spring框架中的分支。
(2)、使用了shiro 做用户权限,具体也做了一个shiroUtils的工具类。相当好用,获取当前登录用户的信息、权限、角色等等。
(3)、使用模本语句生成代码模块,具体就是套用简单统一的模板,根据获取数据库表中相关信息生成 从前端到后台一套的代码文件,只要在基础上修改即可。这个思想也是不错的,值得学习。
(4)、使用shiro做权限控制。使用shiro中的Realm域和Permission 的字符串通配符权限,加以限制请求后台是否有权限,等等。
(5)、开源贡献者写的工具类也是我比较欣赏的,许多通用的工具类都集成了,开箱即用。
(6)、使用mybatis也是不用多说了。大多数人在使用的Dao层框架。
(7)、前端也是使用了比较普遍的jQuery和boostrap来做前端页面设计,通过spring的thymeleaf模板语言做数据交换渲染等,也是比较流行而且容易学习的。
(8)、前端还使用了少量的Vue.js 和比较多的layUI前端框架。总体页面效果还是不错的。
2.在实际开发项目中,也遇到了不少的坑,例如前端模板页面的修改难度大,后台代码有部分是有bug的,不过由作者的思想开说,这个开源框架其实是用于提供给大家学习学习,哈哈哈,所以也就不追究那么多了。总的来说,用于开发简单的系统还是不错的选择。
开源项目bootdo的实战开发笔记的更多相关文章
- dotnet 是 前30个增长最快速度的开源项目中排名第一的开发平台
CNCF 的博客 发了一篇文章 <Update on CNCF and Open Source Project Velocity 2020>,中文翻译参见 2020年CNCF和开源项目开发 ...
- Android 上传开源项目到 jcenter 实战踩坑之路
本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...
- php开源项目学习二次开发的计划
开源项目: cms 国内 dedecms cmstop 国外 joomla, drupal 电商 国内 ecshop 国外 Magento 论坛 discuz 博客 wordpress 学习时 ...
- vue2.0版cnode社区项目搭建及实战开发
_________________________________________________________________________ 初涉vue就深深的被vue强大的功能,快速的开发能力 ...
- 基于Koa2框架的项目搭建及实战开发
Koa是基于 Node.js 平台的下一代 web 开发框架,由express原班人马打造,致力于成为一个更小.更富有表现力.更健壮的 Web 框架.使用 koa 编写 web 应用,通过组合不同的 ...
- 移动端h5直播项目|html5直播实战开发|h5仿陌陌
最近一些直播.小视频什么的都比较火,像陌陌.抖音.火山短视频… 于是空闲时间自己也利用html5技术也试着倒腾了下直播项目,使用到了h5+css3+iscroll+zepot+swiper+wlsPo ...
- 原生Js贪吃蛇游戏实战开发笔记
前言 本课程是通过JavaScript结合WebAPI DOM实现的一版网页游戏---贪吃蛇的开发全过程,采用面向以象的思想设计开发.通过这个小游戏的开发, 不仅可以掌握JS的语法的应用,还可以学会D ...
- 网页实战开发笔记之——最全面的HTML的头部信息介绍
HTML中我们一般把<head></head>部分称为网页的头部.头部部分的内容虽然不会在页面中显示,但它能影响到搜索引擎对网页的收录和排序,以及网页的各种全局设置,可以说是至 ...
- Android Studio编译开源项目(含NDK开发)常见报错
1.未设置NDK的路径 Error:Execution failed for task ':library:ndkBuild'. > A problem occurred starting pr ...
随机推荐
- 【转】Locust-工具核心原理分析
Locust工具在市场上不如Loadrunner / JMeter流行,使用的范围也没有那么广,但不可否认其是一款很不错的工具.我个人觉得Locust使用不是那么广泛,主要是因为一下方式: Locus ...
- idea开启Run DashBoard
0-前言 IDEA中,run dashboard是一个直观.方便好用的面板,谁用谁知道: 但是它不是默认开启的,开启有两种方式: 方式一: 1.新项目中,有时会弹出面板让我们点击开启,点击一下就能开启 ...
- ubuntu桌面版修改屏幕刷新率之后无法进入桌面(一直卡在输入密码的界面)的解决办法
deb https://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb-src https://mir ...
- Linux基本命令学习
对操作系统进行信息查询 硬盘大小 查看磁盘信息: fdisk -l/dev/sda 操作系统中第一块硬盘的名称以及所在路径linux操作系统中一切皆文件(文件名) sd(硬 ...
- Python-全局解释器锁GIL原理和多线程产生原因与原理-多线程通信机制
GIL 全局解释器锁,这个锁是个粗粒度的锁,解释器层面上的锁,为了保证线程安全,同一时刻只允许一个线程执行,但这个锁并不能保存线程安全,因为GIL会释放掉的并且切换到另外一个线程上,不会完全占用,依据 ...
- windows10开机后恢复关机前打开的chrome网页
开始-设置-账户-登录选项-隐私,下面一个"更新或重启后--"即第二个开关打开. 这时,无论是重启.更新重启或关机后开机,均可恢复原关机时的网页(和应用). 注:题主安装的wind ...
- matlab中bitshift 将位移动指定位数
来源:https://ww2.mathworks.cn/help/matlab/ref/bitshift.html?searchHighlight=bitshift&s_tid=doc_src ...
- CSS中居中的完全指南(中英对照翻译)
翻译自:https://css-tricks.com/centering-css-complete-guide/ Centering things in CSS is the poster child ...
- JavaScript事件对象属性e.target和this的区别
前言: Event对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件发生后,跟事件相关的一系列信息数据的集合都放到这个对象里面,这个对象就是事件对象eve ...
- Python 3.9 新特性速览
国庆假期,Python 社区发布了 3.9 版本的第一个 stable release. 相比于 3.8,Python 3.9 新特性众多,但不少特性与大多数 Python"使用者" ...