guns框架字典取值_10分钟搞定Guns快速开发平台
一、Guns简介
Guns基于SpringBoot 2,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架!
在线演示地址:账号密码:admin/111111,地址:http://demo.stylefeng.cn
体验一下:
二 Guns涉及技术
基于SpringBoot,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。
完善的日志记录体系,可记录登录日志,业务操作日志(可记录操作前和操作后的数据),异常日志到数据库,通过@BussinessLog注解和http://LogObjectHolder.me().set()方法,业务操作日志可具体记录哪个用户,执行了哪些业务,修改了哪些数据,并且日志记录为异步执行,详情请见@BussinessLog注解和LogObjectHolder,LogManager,LogAop类。
利用beetl模板引擎对前台页面进行封装和拆分,使臃肿的html代码变得简洁,更加易维护。
对常用js插件进行二次封装,使js代码变得简洁,更加易维护,具体请见webapp/static/js/common文件夹内js代码。
利用ehcache框架对经常调用的查询进行缓存,提升运行速度,具体请见ConstantFactory类中@Cacheable标记的方法。
controller层采用map + warpper方式的返回结果,返回给前端更为灵活的数据,具体参见com.stylefeng.guns.modular.system.warpper包中具体类。
防止XSS攻击,通过XssFilter类对所有的输入的非法字符串进行过滤以及替换。
简单可用的代码生成体系,通过SimpleTemplateEngine可生成带有主页跳转和增删改查的通用控制器、html页面以及相关的js,还可以生成Service和Dao,并且这些生成项都为可选的,通过ContextConfig下的一些列xxxSwitch开关,可灵活控制生成模板代码,让您把时间放在真正的业务上。
控制器层统一的异常拦截机制,利用@ControllerAdvice统一对异常拦截,具体见com.stylefeng.guns.core.aop.GlobalExceptionHandler类。
页面统一的js key-value单例模式写法,每个页面生成一个唯一的全局变量,提高js的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码。
三、Guns项目模块说明
/src/main:
java 源文件 Java程序的
cn.stylefeng.guns
config 配置中心 所有的配置文件
datasource 数据库相关配置
properties 系统的相关配置信息
web 整个项目的配置 swagger beetl shiro配置 等
core 核心代码所在的包
aop 自定义Aop的实现 基于Aop实现日志记录、基于Aop实现权限的校验
beetl 针对beetl模板引擎的操作
common 功能模块
自定义注解
modular 核心模块对应的代码
resources 资源文件
webapp 页面 静态、jsp等
guns框架字典取值_10分钟搞定Guns快速开发平台相关推荐
- guns框架字典取值_guns框架使用日记
如果要使用日期类型 需要在html最下面script中写入 laydate.render({ elem:'#控件id' }); 添加数据功能 数据库id要为bigint类型 实体类的id添加下面注释 ...
- 值不值 | 三分钟搞定jpa?值不值!
Hi ! 我是小小,今天是本周的第五篇,主要内容是jpa的入门,现在开始今日内容 数据准备 数据库使用的数据表设计如下 建表语句如下 SET NAMES utf8mb4; SET FOREIGN_KE ...
- zhlan--Python中的字典遍历方法 字典取值
一.Python中的字典遍历方法: info = { 'name':'xiaoming', 'sex':'nan', 'age':20, 'id':1} info2 = { 'name':'hhh', ...
- python字典取值_python 字典中取值的两种方法小结
python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...
- 去除重复内容,就用这个EXCEL公式,1分钟搞定!(数组公式返回不重复的值,不适用透视表的情况下)
去除重复内容,就用这个EXCEL公式,1分钟搞定! 一份高中录取名册中,上千条学生信息,生源校有七八十所,如何从表中轻松提取出不重复的生源校名单呢? 有人或许会这样做:复制录取名册中所有生源校到一个空 ...
- Python中字典取值常用的方法!
字典是Python中比较常见的数据类型之一,它是一种可变容器模型,可以存储任意数量的任意类型的数据,而且字典中的每个元素由一个键和一个值组成,键和值之间用冒号分隔.本文为大家介绍一下Python中字典 ...
- python使用教程pandas-十分钟搞定pandas(入门教程)
本文是对pandas官方网站上<10Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook .习惯上 ...
- JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...
- 三分钟搞定一个网页原型设计
三分钟搞定一个网页原型设计 PS插件之Velositey(撒福利一波吼~) 做设计的大佬们应该很熟这个插件了,主要安利给平时不玩设计的后台们,以及不想花时间在做重复框架上的同学,更多的时间快留给打磨属 ...
最新文章
- axure 模板_《惢客创业日记》2019.09.03(周二) 用Axure管理项目流程
- Java3大框架的学习都是什么
- python并发与并行_python多进程,多线程分别是并行还是并发
- nginx nodejs环境配置_基于docker的nodejs、php开发环境,包含多种组合安装
- 再谈序列化推荐-集成item类目属性
- 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》
- JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件
- 深度学习《CGAN新认识》
- Java类变量和类方法详解
- [收藏]ASP数据库操作类(上)
- 20160828小结
- 商业价值:谷歌眼中的搜索未来
- android权限名及其用途
- matlab2014b linux,matlab 2014b linux 肿么安装
- 计算机网络模拟器 mac,网易mumu模拟器mac版使用常见问题解决办法_3DM手游
- vim:the damn garbled of vim-devicons from nerdtree
- 先验 超验_先验 和 超验 名词解释
- C#实现斐波那契数列
- 【寒江雪】空间中的点线和面
- 计算机屏幕的显示分辨率与什么有关,事实:显示器屏幕尺寸和分辨率之间是什么关系?...
热门文章
- 深度学习在物理层信号处理中的应用研究
- 云图说 | 快速创建一个kubernetes集群
- 30岁+程序员职场攻略:找到自己的“职业锚”乘风破浪
- 【华为云技术分享】玩转小熊派BearPi(一)使用STM32CubeMX + HAL点亮一个LED
- 关于计算机硬盘属性对话框中,计算机文化基础练习题(2).docx
- PHP+MySql+PDO实现简单增加、删除、修改、查询
- 查看Ubuntu中的ip地址
- colab显示没有gpu的解决方法
- 经典神经网络 | 从Inception v1到Inception v4全解析
- 安卓PHP maker汉化,android 百度地图marker添加自定义视图