- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 SpringBoot如何优雅的使用Swagger
可以参考我的github项目kingboy-springboot-web,包含详细的演示和说明以及其它相关技术。一、Swagger为什么会出现?在以前,我们项目开发的流程往往是这样的:产品把前后端人员叫过来开会:我们的需求是这样的,balabala。然后前端拿着原型页面开始画前台UI,后端看着需求文档开始写接口。后端写完一个接口,肯定需要测试一下写的对不对,那么经常有这样一个过
2017-12-30 22:46:40 3033 6
原创 SpringBoot文件上传下载
环境设置server: port: 8080spring: application: name: kingboy-springboot-file http: multipart: #设置单个文件的大小限制 max-file-size: 100MB #设置单次请求的总大小限制 max-request-size: 1000MB
2017-12-30 04:15:31 2240
原创 spring jpa使用教程
完整代码示例,请参考个人GitHub仓库:kingboy-springboot-data, 包含controller/repository以及测试代码。欢迎star,如有错误,欢迎指正^_^一、SpringBoot集成Hibernate JPA的依赖 compile( //hibernate 'org.springfram
2017-12-30 03:34:06 10434 5
原创 SpringMVC使用JsonView针对统一实体返回不同信息
项目GitHub地址一、随便说说项目中不同的接口需要返回不同的信息,而信息一般通过不同的对象实例去承载。例如有接口A和接口B,A需要返回不包含用户地址的用户信息, 而B需要返回包含用户地址的用户信息,其它信息和A的返回信息一致。这个时候应该建立两个不同的用户类,一个包含address,一个不包含,这样做显然是麻烦的,那么JsonView就可以帮你很优雅的解决这个问题。接下来就直接
2017-12-29 21:55:37 2331
原创 SpringMVC中参数校验使用教程
一、环境准备在项目中添加以下依赖gradleorg.hibernate:hibernate-validator:5.3.5.Finalmavendependency> groupId>org.hibernategroupId> artifactId>hibernate-validatorartifactId> version>5.3.5.Fina
2017-12-29 20:45:33 13093 2
原创 logback配置示例-包含生成json日志,与ELK整合
一、依赖 由于配置中使用了json格式的日志输出,所以需要引入如下依赖"net.logstash.logback:logstash-logback-encoder:4.11",二、配置说明1.日志的输出路径<property name="LOG_PATH" value="phantom-log" />2.读取spring容器中的属性,这里是获取项目名称和运行的服务器IP<springPrope
2017-12-28 01:58:45 7627
原创 gradle使用maven-publish发布jar包到私有Maven
一、添加插件apply plugin: 'maven-publish'二、添加如下配置//打包源码task sourceJar(type: Jar) { from sourceSets.main.allJava}publishing { publications { maven(MavenPublication) { //指定group/a
2017-12-28 01:38:39 24120 6
转载 剪不断理还乱的Java日志体系
一、困扰的疑惑目前的日志框架有 jdk 自带的logging,log4j1、log4j2、logback ,这些框架都自己定制了日志 API ,并且有相应的实现;目前用于实现日志统一的框架 Apache commons-logging(jcl)、slf4j ,遵循「面向接口编程」的原则,这两大框架可以让用户在程序运行期间去选择具体的日志实现系统(log4j1\log4j2\logback等)来记
2017-12-27 15:12:44 364
原创 maven手动上传jar包过程记录
一、maven私服搭建使用Nexus进行搭建,网上教程很多,不多赘述了。二、gradle配置在build.gradle文件的根节点中添加以下内容//打包源代码task sourcesJar(type: Jar) { classifier = 'sources' from sourceSets.main.allSource}artifacts { archives jar
2017-12-27 14:37:54 2802
原创 五、Jenkins系列_使用scp命令进行远程文件复制遇到的坑
一、场景介绍项目为微服务项目,使用jenkins进行统一部署。基本思路是 1. 在jenkins服务器上使用git插件拉取项目代码 2. 使用gradle进行打包 3. 将打好的jar包使用scp远程复制到部署服务器上 4. 执行远程shell脚本启动jar包项目二、坑scp命令copy文件时需要输入密码,然而shell脚本中对密码输入的处理还是很麻烦的。有以下两种方式: 1.使用密码插
2017-12-26 19:21:42 11047 1
原创 22.scp-通过shell终端远程复制文件
ssh连接 在终端输入: ssh 用户名@服务器地址 $ ssh user@192.168.1.100获取远程服务器上的文件scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@w
2017-12-26 19:06:05 1751
原创 SpringBoot使用Redis作为全局锁的示例
微服务的项目中,一个服务我们启动多份,在不同的进程中。这些服务是无状态的,而由数据存储容器(mysql/redis/es)进行状态数据的持久化。这就会导致资源竞争,出现多线程的问题。一、下面代码模拟了没有锁情况下的资源竞争。public class CommonConsumerService { //库存个数 static int goodsCount = 900; //卖出个
2017-12-26 18:24:45 3025
原创 21.sysetemctl-service-chkconfig服务管理
systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。 任务 旧指令 新指令 使某服务自动启动 chkconfig –level 3 httpd on systemctl enable httpd.service 使某服务不自动启动 chkconfig –level 3 httpd off systemc
2017-12-10 23:51:21 468
转载 CentOS7使用yum安装MySQL
1.下载mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2.安装mysql-community-release-el7-5.noarch.rpm包$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm安装这个包后,会获得两个mysq
2017-12-10 23:31:47 298
原创 自定义SpringMVC全局参数转换
一、需求项目中使用java8的LocalDateTime进行日期参数的接收,前后台使用unix时间戳进行日期传输,需要在controller的方法中实现自动将unix时间戳转换为LocalDateTime。localhost:8080?time=1512900770public void test(@RequestParam LocalDateTime time) { System.out.
2017-12-10 18:19:56 965
FastDFS安装文件及java代码示例
2017-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人