- 博客(28)
- 收藏
- 关注
原创 Spring 规范策略模式的使用,去除if-else
策略模式实践 回顾项目中的代码,看到诸多的if-else,心中倍感不适。想起最近了解到的策略模式,于是想到优化下。该方式要结合spring框架,并将一类策略写到同一个包下,所有的策略也均写到一个包下。创建stratgies包策略接口,规定策略类型,策略执行器/** * 策略 * @param <P> 策略执行所需传入的参数类型 * @param <R> 策略执行后的返回值类型 * @param <T> 策略类型 */public interfac
2020-11-23 09:49:51 319
原创 springMVC springBoot shiro 自定义shiro授权注解,自定义授权解析器
shiro支持注解式的授权控制,共有5个:@RequiresAuthentication:当前 Subject 已经通过 login 进行了身份验证;即 Subject.isAuthenticated() 返回 true。@RequiresUser:当前 Subject 已经身份验证或者通过记住我登录的。@RequiresGuest:当前 Subject 没有身份验证或通过记住我登录过,即是游客身份。@RequiresRoles:当前 Subject 需要的角色。@RequiresPermi
2020-10-22 11:14:21 726 1
原创 注解继承,动态修改注解属性值,BeanPostProcessor应用,自定义shiro授权注解属性值。
一个Web项目,想做一个默认通用接口的功能。父类BaseController有默认的对外接口(/page,/list,/detail,/update等)以及默认的实现。已经实现,(继承shiro,需要接口访问权限功能)但是shiro的授权(@RequiresPermissions)不能自定义了。想着利用Spring的BeanPostProcessor给ControllerBean的API方法的授权做动态修改。但实际并不能如此只能另寻他法了。//父类定义默认对外接口,以及方法实现public clas
2020-10-20 13:20:52 467
原创 Spring 重要接口体系
BeanFactory继承体系四级接口继承体系BeanFactory:提供获取bean,是否包含bean,是否单例与原型,获取bean类型,bean别名的apiAutowireCapableBeanFactory:提供工厂的装配功能HierarachicalBeanFactory:提供父容器的访问功能ListableBeanFactory:提供容器内bean实例的枚举功能ConfigurableBeanFactory:提供factory的配置功能ConfigurableListableBe
2020-10-13 16:12:05 273
原创 Layui 自定义下拉选组件
自定义Layui下拉选组件基于layui,仿照easyui的combobox做的下拉选。可通过接口获取下拉选值,显示的文本,传值内容可自定义生成。可绑定选中事件,可做多级联动。定义常用工具模块common.js,并加载到layui的默认模块中去。layui.jsu={ common:'../../utils/common',}common.jslayui.define(['form','laydate','carousel','util'],function (e) { const {
2020-08-24 14:18:14 1528
原创 Layui input赋值/取值时自动换算单位
平时项目中金额,重量等单位数据库一般用分,千克保存,而在前台展示确实用元,吨。这样在给input的赋值每次都要做单位换算很麻烦,修改了layui中form.js的代码以方便此类操作。//路径layui/lay/modules/form.jsu.prototype.val = function (e, i) { var a = this, n = t(r + '[lay-filter="' + e + '"]'); n.each(function
2020-05-22 17:33:53 1373
原创 Layui select赋值并手动自动触发select事件
后台管理使用的layui。一次select手动赋值操作发现没有该select的选中事件,琢磨了下做如下操作即可。写了个common.js常用操作的工具类,修改了赋值方法。layui.define(['layer','form','laydate','dtree','carousel'],function (e) { let layer=layui.layer,form=layui.form,laydate=layui.laydate,dtree=layui.dtree,carousel=layu
2020-05-22 17:16:59 4309
原创 Linux下PHP7.2.20的安装
Linux下PHP7.2.20的安装1.下载mkdir -p /home/soft/phpcd /home/soft/phpwget https://www.php.net/distributions/php-7.2.20.tar.gztar -zxvf php-7.2.20.tar.gz2.安装yum -y install gcc libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg.x86_64 libpng.x86
2020-05-22 16:49:57 555
原创 Linux下Redis4.0.14的安装
Linux下Redis的安装1.创建路径mkdir -p /home/soft/redis2.下载cd /home/soft/rediswget http://download.redis.io/releases/redis-4.0.14.tar.gz3.解压tar -zxvf redis-4.0.14.tar.gzmkdir confmkdir datamv redis-4.0.14 rediscd redis4.安装环境yum install -y gcc5.安装m
2020-05-22 16:45:08 452
原创 Linux下安装MongoDB4.2.6
Linux下安装MongoDB4.2.61.下载mkdir -p /home/mongodbcd /home/mongodbwget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.2.6.tgz2.安装tar -zxvf mongodb-linux-x86_64-rhel62-4.2.6.tgzmv mongodb-linux-x86_64 mongodbmkdir datamkdir logvim /et
2020-05-22 16:41:11 490
原创 Linux下Elasticsearach7.6.2的安装
Linux下安装Elasticsearch7.6.2。包含一些常见安装时的报错解决方法。安装ik分词器。1.下载elasticsearchmkdir -p /home/elasticsearchcd /home/elasticsearchwget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz#官网下载极慢,可访问我的网盘(也快不到哪去)#链接:https:
2020-05-13 14:59:46 432
原创 Linux下Node.js14.2.0安装
1.下载mkdir -p /home/nodecd /home/nodewget https://cdn.npm.taobao.org/dist/node/v14.2.0/node-v14.2.0-linux-x64.tar.gz2.解压安装tar -zxvf node-v14.2.0-linux-x64.tar.gzmv node-v14.2.0 nodevim /etc/profile export NODE_HOME=/home/node/node export PAT
2020-05-12 17:21:27 618
原创 Linux 防火墙firewalld相关操作
1.启动:systemctl start firewalld2.重启:systemctl restart firewalld3.查看状态:systemctl status firewalld4.禁用、禁止开机启动:systemctl disable firewalld5.停止运行:systemctl stop firewalld6.开放端口:firewall-cmd --permanent --zone=public --add-port=..
2020-05-12 17:10:52 163
原创 Layui 手动验证表单
使用的layui,种种原因想自定义执行表单验证方法,发现没有该功能,琢磨了会儿form.js找到了破解之法儿。form.js:/** * z:表单所在容器id * return:是否通过验证**/u.prototype.doVerify=function(z){ var e = null, a = f.config.verify, ...
2020-03-07 17:43:49 2324 2
原创 Nginx配置为windows服务
下载winSW:https://github.com/kohsuke/winsw/releases重命名为:server.exe创建server.xml:<service> <id>nginx</id> <name>Nginx Service</name> <description>High Perf...
2019-06-05 23:02:30 2459
原创 Redis集群模式搭建(3.x~4.x)
redis集群判断某一节点是否宕机采用投票机制,这里我们就需要创建奇数个节点。先创建三台虚拟机(129,130,131),6个redis(4.x),三个节点即三主三从。创建redis目录:mkdir -p /home/soft/redis下载redis:cd /home/soft/rediswget http://download.redis.io/releases/redi...
2019-06-05 09:25:38 272
原创 地图坐标工具类
public class MapUtil { private static final Double PI=Math.PI; private static final Double PK=180/PI; private static final Double X_PI=PI*3000.0/180.0; /** * 计算两点间距离(bd-09) * @par...
2018-11-20 14:08:36 395
原创 nginx配置ssl问题
阿里云获取的免费证书在另一台服务器上配置,成功访问https,换了台服务器,域名同样的配置出了点意外。 先是提示没有开启ssl服务,重启nginx报错,按网上教程重新编译后解决,可以正常重启,但依旧没有监听443端口。 以下是配置文件:...
2018-09-27 14:54:57 312 3
原创 springboot-thymeleaf
SpringBoot提供了大量的模板引擎,包括FreeMarker、Groovy、Thymeleaf、Velocity和Mustache,SpringBoot推荐使用Thymeleaf作为模板引擎,因为 Thymeleaf提供了完美的SpringMVC支持。
2017-08-23 14:02:20 389
原创 3.1SpringBoot-JPA演示
SpringBoot 整合JPA,数据快速持久化。整体采用:Hibernate,MySQLpom.xml: org.springframework.boot spring-boot-starter-data-jpa mysql mysql-connector-javaapplication.properties:#MySQl lian
2017-05-17 14:40:37 369
原创 2.SpringBoot-FastJson
springboot整合fastjson,快速定义数据规则,方便数据格式化。pom.xml: com.alibaba fastjson 1.2.15entity:public class demo{ private int id; private String name;//定义时间的json解析格式 @JSONField(format
2017-05-10 11:37:53 334
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人