- 博客(26)
- 资源 (1)
- 问答 (10)
- 收藏
- 关注
原创 Spring 提供的参数效验注解
Spring 提供的效验规则JSR303 api文档 13JSR380 api文档 9Hibernate ValidatorBean Validation 中内置的 constraintConstraint用法适用类型约束来源@Null被注解的字段必须为空JSR303@NotNull被注解的字段必须不为空JSR303@NotBlank带注释的元素不能为null,并且必须至少包含一个非空白字符JSR380@NotEmpty带注释的元素
2021-03-23 16:05:01
728
原创 springboot多环境只打包指定环境的配置文件
在 SpringBoot 工程里面可以通过 application-*.yml 的方式实现多环境打包。但是打包的时候会把所有的.yml配置文件都打到包里。通过下面的方式可以实现在打包的时候只打上当前环境的配置文件pom.xml <profiles> <profile> <!-- 本地开发环境 --> <id&...
2018-12-24 19:11:06
10812
4
原创 SpringBoot获得Maven-pom中版本号和编译时间戳
这篇文章介绍了在SpringBoot中如何获得项目的编译时间和版本号,主要分为以下步骤在pom文件中获取maven的build time配置pom,用maven中的变量替换资源文件中的属性提供接口Maven中获得编译时间在 pom文件properties 中添加两个属性&amp;amp;amp;amp;lt;properties&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;!--maven.build
2018-12-16 16:56:55
14210
3
原创 一行命令在Linux和Window间跨平台共享文件夹
Python内置了一个简单的HTTP服务器SimpleHTTPServer,通过它可以把指定文件夹在局域网共享,不受操作系统的限制,通过浏览器就可以浏览、下载我们所共享的文件Python2//查看python版本python --version//端口port是可选的,不填会采用缺省端口8000python -m SimpleHTTPServer [port]一行命令HTTP服务...
2018-09-26 17:02:21
512
原创 在Ubuntu用Docker部署汉化版GitLab
项目的开发通常都离不开对代码的版本管理。简单的方式可以在内网搭建一个仓库,然后添加各个组员的公钥来共同开发。这种方式不仅不利于管理和维护,而且功能过于单一。我们很希望有像GitHub这样的平台服务,功能齐全且好维护。但由于GFW的原因,有时候访问延迟过大。更重要的是,github免费版只支持开源项目,私有项目需要付费,而且比较昂贵,并不适合公司的项目。GitLab 是一个类似与GitHub的项...
2018-09-05 15:51:28
2389
原创 React+antd:为表格添加成组标记
最近在做前端开发的时候遇到一个需求:对后端传回的数据中满足条件的相邻行用符号连接起来,表示关联关系。我是个前端新人,因项目需要接手前端开发工作,为了实现这个需求颇费了一番功夫。现在记录下来方便后来者。这篇文章首先用原生CSS实现了这个需求,然后在React工程中的antd表格组件中实际应用。用CSS实现表格的成组标记本蚊以在相同国家的人名前加上成组标记为例CodoPen在线...
2018-08-30 16:44:58
2776
原创 Ant Design之表格动态合并行
在web开发中,表格的行合并是一个很常见的需求。蚂蚁框架也提供了这种功能,但是文档中的示例代码却和我想象中的相差甚远,如下所示,它是通过一种很笨的办法实现的行合并。这样当表格的数据源是动态获取的,我们就没有办法动态的合并行。 官方代码 蚂蚁框架的官方文档代码,我的代码见最后import { Table } from 'antd';// In the fifth r...
2018-07-20 00:49:28
5022
1
原创 Spring Boot2整合Shiro(2):用 BCrypt 加密密码
上一篇文章,我们用spring boot2框架搭建了一个web项目,并且使用shiro作为安全管理框架实现了用户的身份认证,也就是登录。这篇文章首先简要介绍了密码储存的演进史,然后结合代码介绍了在shiro中怎么使用MD5、MD5加盐、Bcrypt等三种逐渐进步的方法加密密码。
2018-07-18 23:22:59
5098
原创 使用Kettle实现数据实时增量同步
0. 前言本文介绍了使用Kettle对一张业务表数据(500万条数据以上)进行实时(10秒)同步,采用了时间戳增量回滚同步的方法。关于ETL和Kettle的入门知识大家可以阅读相关的blog和文档学习。 1. 时间戳增量回滚同步假定在源数据表中有一个字段会记录数据的新增或修改时间,可以通过它对数据在时间维度上进行排序。通过中间表记录每次更新的时间戳,在下一个同步周期时,通过这个时...
2018-05-30 16:16:20
104682
75
原创 Spring Boot2整合Shiro(1):身份认证
前言本文主要介绍了在Spring Boot2项目中整合Shiro实现登录认证。本文假设读者已经对Shiro和基于RBAC的权限控制系统有了基本的认识。 本项目没有数据库,也就没有dao层,所有的用户和密码均在Service层采用硬编码。 特别提醒:因为代码块中的@符号在博客发布过程中会导致代码格式混乱,所以@都是用双斜杠注释了。创建工程通过idea的Spring Initializr新建工程
2018-03-31 15:31:36
12621
7
原创 MySQL Workbench中PK,NN,UQ,BIN,UN,ZF,AI,G字段类型标识说明
PK:primary key 主键NN:not null 非空UQ:unique 唯一索引BIN:binary 二进制数据(比text更大)UN:unsigned 无符号(非负数)ZF:zero fill 填充0 例如字段内容是1 int(4), 则内容显示为0001 AI:auto increment 自增G: Generated Column mysql5.7新特新:这一列由其他列
2018-03-29 09:48:20
1611
原创 fastjson JavaBean 转 Map
常用函数//将JavaBean序列化为JSON文本(常用) public static final String toJSONString(Object object); //把JSON文本parse为JSONObject(常用) JSONObject实现了Map<String, Object>接口public static final T parseObject...
2018-02-09 11:41:42
15889
原创 日志框架logback学习记录
logback是什么LogBack是一个日志框架,它是Log4j作者Ceki的又一个日志组件。LogBack是Log4j的改良版本,比Log4j拥有更多的特性,同时也带来很大性能提升。logback 的结构LogBack分为3个模块:logback-core logback-core提供了LogBack的核心功能,是另外两个组件的基础logback-classic logback-clas
2017-07-09 16:08:40
732
原创 SSM(一) | 框架整合
从零开始一步步的搭建一个ssm框架(Spring+Spring MVC +Mybatis + Maven +IDEA)
2017-07-07 22:01:51
592
原创 锋利的jQuery | jQuery中的DOM操作
本文整理自锋利的jQuery(第二版)第三章查找节点var $li = $("ul li:eq(1)"); //获得元素节点var li_text = $li.text(); //获得文本内容var name = $li.attr("name") //查找属性节点var class = $li.attr("class") //查找属性节点创建节点var li_2 = $("<l
2017-05-10 22:45:08
339
原创 锋利的jQuery | jQuery选择器一览
本文整理自锋利的jQuery(第二版),难免有些过时,读者可以在jQuery API 1.12 中文文档查看更全面的内容基本选择器$("#id") //id选择器$(".class") //类选择器$("label") //元素选择器$("*") //通配符$(".class,#id") //并列选择器层次选择器$("body div") //后代选择器$("body > di
2017-05-10 21:17:52
328
原创 BAT | 批处理下载ftp文件
@echo offrem 指定FTP用户名set ftpUser=***rem 指定FTP密码set ftpPass=***rem 指定FTP服务器地址set ftpIp=ftp.******.comrem 指定待下载的文件位于FTP服务器的哪个目录set ftpFolder=/pub/demo/installrem 指定从FTP下载下来的文件存放到本机哪个目录set LocalF
2017-05-09 16:05:50
16403
原创 下拉列表、单选按钮、复选框常用用法总结
下拉列表html<select id="demoselect"> <option value="eq">相等</option> <option value="gt">大于</option> <option value="lt">小于</option></select>获取下拉列表的值$("#demoselect").val()//value$("#demoselect").
2017-01-10 22:01:45
6667
原创 MongoDB-3.2.0 授权登陆
1. 简介mongodb开启授权登陆前,需要在数据库中创建一个拥有账号管理的授权权限的账号,也就是可以创建各类账号的账号。步骤如下1.1. 无验证启动mongodb1.2. 创建用户从3.0开始默认不创建admin库,需要自己创建1. use admin2. db.createUser( { user:"admin", //user:新用户的名字 customData:{
2016-12-27 10:07:12
627
原创 Groovy字符串及其常用方法
文本文字以字符链的形式表示被称作字符串。脚本语言在字符串处理方面比主流的应用程序开发语言做的更好。Groovy就提供了许多附加的特性。在Groovy中有两种风格的字符串:String(java.lang.String)和GString(groovy.lang.GString)。GString允许有占位符而且允许在运行时对占位符进行 解析和计算。
2016-10-22 23:27:28
75294
3
原创 Groovy集合(map)
声明mapMap的规范和上一篇博客提到的list类似,helist一样,Map保证可以通过下标来获取或者设置值,不同的是map可以使用任何类型作为下标操作符的参数,而list仅仅支持整数,list知道list中元素的顺序,而map一般不知道,特殊的map如java.util.TreeMap也可以知道他们的key的顺序。理论上 ,任何类型都可以作为map的键(key)或者值(value),当使用特殊类
2016-10-20 22:21:48
43573
1
原创 快速排序的最简易实现(Java+Groovy)
/** * Java实现快速排序; * 1.取int[left]为基准数,把比它大的数移到右边,比他小的移到左边 * 2.再对左右区重复上述步骤,直至每个区间只有一个数 * 2016-07-10 */ public void quickSort(int[] n, int left, int right) { if (lef
2016-08-31 09:38:55
520
原创 快速排序的最简易实现
/** * 自己实现快速排序; 1.取int[left]为基准数,把比它大的数移到右边,比他小的移到左边 2.再对左右区重复上述步骤,直至每个区间只有一个数 */public void quickSort(int[] n, int l, int r) {if (l = x)j--;if (i < j)n[i] = n[j];i++;while (i < j && n[i] <= x)i++;i
2016-07-10 22:28:55
390
myeclipse运行JSP页面空白,但是在IE却能正常运行?
2015-06-25
JSP文件因为导包不能正常编译
2015-06-24
新手练习--JSP商城项目--商品种类列表方法出错。
2015-06-24
JSP跳转同一文件夹下的子文件夹地址怎么写;
2015-06-23
JSP登陆验证SQL数据库时,方法错误,求解。有详细说明
2015-06-23
JSP bss验证一个方法时,程序出错。
2015-06-14
开发java五子棋遇到的困难
2015-05-20
java人机五子棋无措,debug时出现找不到源是为什么
2015-05-20
java简易人机对战五子棋运行没反应
2015-05-19
java新人求助,五子棋胜利判定无效。
2015-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人