
项目中的技术问题
一只小小小小丶小菜鸟
这个世界上有三样东西是别人抢不走的,吃进肚子里的饭,读进脑子里的书,还有藏在心中的梦想。
展开
-
Spring工具类之AntPathMatcher
官方文档地址:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html作用:在项目中主要用来做路径的匹配,在权限模块会用到接口路径的匹配。用法规则: ?匹配一个字符 * 匹配零个或多...原创 2018-09-28 18:46:22 · 1595 阅读 · 0 评论 -
spring data jpa 操作视图
1.场景: 在项目中遇到一个设计多张表复杂查询时,为了不想使用JDBC直接创建sql语句查询2.用法:手动写出查询sql语句,在数据库中创建对应视图 在代码中创建对应实体类,直接当作普通的实体对应表一样操作。...原创 2019-03-10 14:23:06 · 3514 阅读 · 0 评论 -
js 浮点数精度问题
场景:在使用postman写js测试脚本时,项目中BigDecimal类型数据通过接口获取后,在脚本中经过计算后失去了经度。 解决:使用js中的 toFixed(m)方法设置经度,m位小数点后的位数。 --- 使用 `==` 判断浮点数是否相等...原创 2019-01-19 13:29:35 · 261 阅读 · 0 评论 -
java 中BigDecimal精度问题
异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 解决:在进行除法运算时,要设置精度和舍入方式。 BigDecimal a = BigDecimal.valueOf(1);BigDecimal c = BigDec...原创 2019-01-19 13:28:23 · 464 阅读 · 0 评论 -
项目中的数据校验问题
1.在向数据库插入数据时,对数据进行校验,确保数据正确性。2.如果在项目中使用的数据时从数据库取出的数据,并且数据是错误的,则是代码出现了问题,要往上排查,要在源头处(也就是向数据库插入数据时)切断错误。...原创 2019-01-19 13:27:19 · 662 阅读 · 0 评论 -
spring schedule 定时任务
场景:在实际项目中,定时任务的应用非常广泛,比如一些视频网站,购买会员后,每天会给会员送成长值,每个月会送电影卷;比如定时生成报表、邮件;比如一些定时清理数据的任务。用法:spring的定时任务用起来非常简单,下面主要说在spring boot项目中的用法。1.首先我们要在启动类上添加@EnableScheduling,去开启定时任务。2.接着我们要在需要定时执行的方法上,添加@Sch...原创 2018-11-03 13:40:10 · 294 阅读 · 0 评论 -
spring 注入静态成员变量
场景:在工具类中,有时候我们需要给静态成员变量注入值,而静态成员变量实在类加载的时候加载的。我们通常有两种方法去实现:1:使用set函数注入@Componentpublic Class LogUtil { private static LogStampService logStampService; @Autowired public void s...原创 2018-11-03 13:13:22 · 547 阅读 · 0 评论 -
项目实用技巧
在从数据库批量获取数据时,要尽量返回一个不可更改的数据集,防止数据被随意更改。我们可以使用Collections工具类中的unmidifiable方法,根据具体类型返回。在实体类中我们可以使用add方法替代set方法为集合赋值,一次添加一个元素,而不是直接赋一个新的集合进来。使用remove方法去做删除集合中元素的操作。 ...原创 2018-10-20 15:16:52 · 156 阅读 · 0 评论 -
CommandLineRunner 预加载
场景:在使用spring boot构建项目时,我们通常有一些需要预先加载的数据。使用:我们可以通过实现CommandLineRunner接口,重写run方法。 :当存在多个需要加载的数据类时,我们可以使用@Order进行排序。/** * 启动时预加载 * * @author aku */@Componentpublic class StarterTest ...原创 2018-10-20 14:55:58 · 454 阅读 · 0 评论 -
git 常用操作命令
1. 查看未合并分支git branch --no-merged2. 查看修改代码git diff3 修改 commit我们经常会在提交的时候拼写错误或者填入一些错误的信息,我们可以使用:git commit --amend如果你想修改已经提交的过的 commit 信息的话,你需要修改后:git commit --amend...原创 2018-10-20 14:50:31 · 259 阅读 · 0 评论 -
JPA @primayKeyJoinColumn
@primayKeyJoinColumn注解一般用于one2one关系,关系维护端的主键作为外键指向关系被维护端的主键,不再新建一个外键列。两个实体的主键id要求是相同的@Table(name = "user") public class User{ @OneToOne @PrimaryKeyJoinColumn(name = "id") A...原创 2018-10-20 14:46:26 · 778 阅读 · 0 评论 -
spring缓存cache的使用
转载地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/#icomments 缺省的key生成策略是通过KeyGenerator生成的,其默认策略如下:* 如果方法没有参数,则使用0作为key。* 如果只有一个参数的话则使用该参数作为key。* 如果参数多余一个的话则使用所有参数的h...转载 2018-09-30 09:41:53 · 187 阅读 · 0 评论 -
java中的Pair对
应用场景: 当涉及到key-value键值对时,我们一般使用Map映射去做处理,此时的key相当于value的一个描述或者引用,而具体的信息都保存在value中,我们可以通过key去获取对应的value。但是当key和value都保存具体信息时,我们就需要用到Pair对了。 实际上Pair保存的应该说是一个信息对,两个信息都是我们需要的,...原创 2018-09-29 10:08:51 · 19090 阅读 · 0 评论 -
springboot项目中的异常处理
1.首先自定义异常类继承RuntimeException类,以NotFoundException为例:使用MessageFormat.format()方法做信息和可变参的处理。public class NotFoundException extends RuntimeException { private static final long serialVersionUID = ...原创 2018-09-28 14:51:01 · 405 阅读 · 0 评论 -
springboot yml配置文件
server: port: 8080 servlet: context-path: /apispring: datasource: url: jdbc:mysql://localhost:3306/aku?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL...原创 2018-09-28 14:54:07 · 339 阅读 · 0 评论 -
http GET请求方式传递数组参数
异常:java.lang.IllegalArgumentException: Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC 3986原因:get请求方式传参时,需要传递数组参数,http://localhost:8080/test?st...原创 2019-03-10 14:24:21 · 14279 阅读 · 2 评论