180730-Spring之RequestBody的使用姿势小结

logo

Spring之RequestBody的使用姿势小结

SpringMVC中处理请求参数有好几种不同的方式,如我们常见的下面几种

  • 根据 HttpServletRequest 对象获取
  • 根据 @PathVariable 注解获取url参数
  • 根据 @RequestParam 注解获取请求参数
  • 根据Bean的方式获取请求参数
  • 根据 @ModelAttribute 注解获取请求参数

对上面几种方式有兴趣的可以看一下这篇博文: SpringMVC之请求参数的获取方式

除了上面的几种方式之外,还有一种 @RequestBody 的使用方式,本文则主要介绍这种传参的使用姿势和相关注意事项

180729-Quick-Task 动态脚本支持框架之任务动态加载

Quick-Task 动态脚本支持框架之任务动态加载

前面几篇博文分别介绍了整个项目的基本架构,使用说明,以及整体框架的设计与实现初稿,接下来则进入更细节的实现篇,将整个工程中核心实现捞出来,从为什么这么设计到最终的实现给予说明

相关系列博文:

180726-InfluxDB基本概念小结

InfluxDB基本概念小结

InfluxDB作为时序数据库,与传统的关系型数据库相比而言,还是有一些区别的,下面尽量以简单明了的方式介绍下相关的术语概念

180725-InfluxDB-v1.6.0安装和简单使用小结

InfluxDB安装和简单使用小结

InfluxDB是一个时序性数据库,因为工作需求,安装后使用测试下是否支持大数据下的业务场景

180723-Quick-Task 动态脚本支持框架之结构设计篇

logo

文章链接:https://liuyueyi.github.io/hexblog/2018/07/23/180723-Quick-Task-动态脚本支持框架之结构设计篇/

Quick-Task 动态脚本支持框架之结构设计篇

相关博文:

前面两篇博文,主要是整体介绍和如何使用;接下来开始进入正题,逐步剖析,这个项目是怎么一步一步搭建起来的;本篇博文则主要介绍基本骨架的设计,围绕项目的核心点,实现一个基础的原型系统

180719-Quick-Task 动态脚本支持框架之使用介绍篇

logo

Quick-Task 动态脚本支持框架之使用介绍篇

相关博文:

QuickTask这个项目主要就是为了解决数据订正和接口验证不方便的场景,设计的一个及其简单的动态脚本调度框架,前面一篇整体介绍篇博文,主要介绍了这是个什么东西,整体的运行原理,以及一些简单的使用demo

本篇博文将主要放在应用场景的探讨上,在实际的项目环境中,可以怎么用

180718-jar包执行传参使用小结

logo

jar包执行时传参的使用姿势

虽说我们现在大多不太直接使用jar包运行方式,目前比较主流的是将自己的服务丢在某个容器中(如tomcat,jetty等)运行,比如我之前所属的电商公司,就是将项目打包为war包,丢到tomcat容器中运行的

在使用SpringBoot时,可能会出现直接打包一个可执行的jar,然后运行,这种时候,通过java命令执行时,时可以传参的,那么问题来了,main方法可以如何优雅的解析这些传参呢?

180717-借助Maven打包可项目执行的Jar小记

当我们希望项目打包为一个可执行的jar文件,丢到服务器上运行时,可以怎么做?借助maven。可以比较简单的实现这个

I. 使用小结

在pmo依赖文件中,添加下面的依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.git.hui.task.AppLaunch</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

注意上面的mainClass标签中,指定的是main方法执行入口,上面这种打包方式,会将所有依赖的第三方包,也一同打包到最终生成的jar文件中

即,这个jar文件,包含了所有的依赖和业务代码,可以直接运行,执行方式

1
java -jar xxx.jar

源码验证case:

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

QrCode

180716-Centos时区设置

使用timedatectl命令同步时间并设置时区

I. timedatactl命令

1. 使用帮助

1
timedatectl -h

2. 命令示例

2.1 显示系统的当前时间和日期

1
2
3
timedatectl
# timedatectl status
# 两条命令效果等同

2.2 设置日期与时间

1
2
3
timedatectl set-time "YYYY-MM-DD HH:MM:SS"
timedatectl set-time "YYYY-MM-DD"
timedatectl set-time "HH:MM:SS"

2.3 查看所有可用的时区

1
2
3
timedatectl list-timezones
# 亚洲
timedatectl list-timezones | grep -E "Asia/S.*"

2.4.设置时区

1
timedatectl set-timezone Asia/Shanghai

2.5.设置硬件时间

1
2
3
4
# 硬件时间默认为UTC
timedatectl set-local-rtc 1
# hwclock --systohc --localtime
# 两条命令效果等同

2.6.启用时间同步

1
2
timedatectl set-ntp yes
# yes或no; 1或0也可以

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

QrCode

180713-Spring之借助Redis设计访问计数器之扩展篇

logo

之前写了一篇博文,简单的介绍了下如何利用Redis配合Spring搭建一个web的访问计数器,之前的内容比较初级,现在考虑对其进行扩展,新增访问者记录

  • 记录当前站点的总访问人数(根据Ip或则设备号)
  • 记录当前访问者在总访问人数中的排名
  • 记录每个子页面的访问计数,记录站点的总访问计数

180711-JVM定位分析CPU性能消耗

JVM分析CPU性能消耗

分三步走,看下JVM中的线程占用的CPU资源,以及定位这些线程为什么如此消耗资源

180710-MySql插入唯一键冲突的三种可选方式

logo

MySql插入时唯一键冲突的几种处理方式

MySql插入一条记录,结果提示主键冲突,怎么办?

批量插入数据时,发现插入的这批数据中,有某些记录存在唯一键冲突,一个一个跳出来就比较麻烦了,有什么好的办法直接忽略掉冲突的记录么?

下面简单记录三种处理方式

170709-Java实现获取本机Ip工具类

logo

Java实现获取本机Ip的工具类

获取本机Ip算是比较常见的一个需求场景了,比如业务报警,可能就会带上出问题的机器IP,方便直接上去看日志定位问题,那么问题来了,如何获取机器IP呢?

180707-ssh远程免密登录配置

logo

通过ssh免密方式登录远程服务器, 配置比较简单,就是讲自己的rsa公钥放在远端服务器的授权文件中

1
vim ~/.ssh/authorized_keys

180706-BigDecimal除法的精度问题

BigDecimal除法的精度问题

在使用BigDecimal的除法时,遇到一个鬼畜的问题,本以为的精度计算,结果使用返回0,当然最终发现还是自己的使用姿势不对导致的,因此记录一下,避免后面重蹈覆辙

180705-一个简单的幂等工具类实现

一个简单的幂等工具类

在日常的工作中,业务的去重幂等场景属于比较常见的需求,一般来讲简单的幂等工具类可以基于内存或者基于redis进行,本篇简单介绍下,如何使用Guava的缓存来实现一个幂等工具类

180704-JDK常用监控参数

相关博文: jvm调优的工具介绍

小结一下用的几个调优参数,特别是自带的jvisualvm,比较好用,但是功能丰富完整方面比jprofile要欠缺一点,后面有时间补上jprofile的使用过程

180703-netstat常用命令学习小结

logo

平常工作中,经常会出现的一个case就是查询端口号占用情况,一般在linux下使用netstat,在mac下则使用lsof;本篇则记录下Linux之netstat命令的使用

最常用的一个查看端口号占用命令:

1
netstat -alnp | grep port
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×