- 博客(30)
- 资源 (2)
- 收藏
- 关注
转载 SpringAOP中的JointPoint和ProceedingJoinPoint使用总结
一、Joint PointJointPoint是程序运行过程中可识别的点,这个点可以用来作为AOP切入点。JointPoint对象则包含了和切入相关的很多信息。比如切入点的对象,方法,属性等。我们可以通过反射的方式获取这些点的状态和信息,用于追踪tracing和记录logging应用信息。二、Pointcutpointcut 是一种程序结构和规则,它用于选取join point并收集这些point的上下文信息。pointcut通常包含了一系列的Joint Point,我们可以通过pointcut来同
2020-12-09 10:23:40
4633
原创 Validator校验的实体类上常用的注解(详细版)
Validator主要是校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数字的,等等。这个实体类在属性上加入了注解@NotEmpty,@Length,那么常用的注解有:约束注解名称 约束注解说明@null 验证对象是否为空@notnull 验证对象是否为非空@asserttrue 验证 boolean 对象是否为 true@assertfalse 验证 boolean 对象是否为 false@min 验证 number 和 string 对象是否大等于指定的值@m
2020-12-07 18:10:51
1870
原创 openid会变吗?微信小程序开发中的appid、openid、unionid使用总结
openid会变吗?微信的appid、openid、unionid使用总结最近在开发中涉及到了微信账户绑定的openid变化问题,遇有不解,所以自己想梳理一下这几个id的概念以及他们之间的关系。首先确认openid是会变化的!appid定义:小程序唯一凭证,即 AppID,每个小程序都有自己的一个appid获取途径:可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)用途:小程序的 AppID 相当于小程序平台的一个身份证,会在很多场景中使用,比如小程
2020-12-03 10:59:16
18196
2
原创 四大作用域pageContext,request,session,application的区别简述
pageContext,request,session,application四大作用域的区别一、 生命周期:page:存在page中的变量,只作用于当前的jsp页面,当发生跳转、重定向、定时刷新时,将随之销毁;request:存在request中的变量,作用于一次HTTP请求到服务器处理结束,返回响应的整个过程,该变量可以随着forward的方式跳转到多个jsp中,一但刷新页面,它们将重新计算;session:存在Session中的变量,作用于一次会话中,从打开浏览器到关闭浏览器过程中,将一直累加
2020-12-01 10:45:45
736
原创 用户登录拦截器查询到登录用户信息后如何将用户信息传递到后面的Controller
**用户登录拦截器查询到登录用户信息后将用户信息传递到后面的Controller开发过程中,移动端提出能不能不要每次接口都传递用户信息,做下统一处理,于是乎我就想到了在@Aspect层将验证token时查到的用户信息保存到HttpServletRequest 中,结合了HttpServletRequest request的生命周期特征以及@Aspect的特性,我的想法得到了验证,确有这种方法用来传递登录用户的信息,结合业务场景。我们在拦截器中把用户信息放入request对象中,然后在后面的Control
2020-12-01 10:41:52
1419
转载 详解Spring Aop实例@Around、@Before、@After、@AfterReturning 、@AfterThrowing注解方式配置以及注意事项
用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before、@Around和@After等advice。最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了AOP功能。我使用到了@Before、@Around这两个advice。但在,使用过程中,却对它们的执行顺序并不清楚。为了弄清楚在不同情况下,这些advice到底是以怎么样的一个顺序进行执行的,我作了个测试,在此将其记录下来,以供以后查看。前提对于AOP相关类(aspect、pointcut等)的概念,
2020-12-01 09:54:49
2479
原创 Java中BigDecimal、Date等特殊格式比较大小的方法总结(持续更新中)
特殊格式比较的方法总结开发中经常与到要比较两值大小的问题,一般的格式通过">","<"即可,但是有些特殊的格式就不能使用这些运算符做判断或者有更简便的方法。下面总结一下开发中遇到的比较问题,并在今后的开发中会持续更新…1.BigDecimal比较大小的方法BigDecimal不能直接用">","<"比较例如:@Testpublic void containsTest() { BigDecimal a =new BigDecimal(0.1); BigDec
2020-10-12 17:22:26
8138
原创 @Data取代Get,Set方法的使用总结以及注意事项
@Data取代Get,Set方法的使用总结以及注意事项前言:开发过程中发现前辈的代码中实体类没有任何get,set方法但是却能正常使用get,set方法,仔细研究发现每个实体类中都使用了@Data 注解于是仔细研究了下@Data的使用方法。介绍:@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;使用:要使用 @Data 注解要先引入lombok工具类库,可以用简单的注解形式来简化代码,提高开发效率。在maven中
2020-09-28 11:54:27
8460
原创 BeanUtils.copyProperties使用总结以及注意事项
1.前言开发过程中,讲一个对象的属性和值赋值到另一个对象上,大量使用了get、set方法,看着很臃肿,思考下肯定不只有我有这种想法,所以技术上肯定有方法能解决这个问题,所以查阅了一些资料发现了BeanUtils.copyProperties这个方法以下是这次所有的总结以及使用时的注意事项。使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get、set方法一个一个属性的赋值。2.一般使用BeanUtils是这个
2020-09-24 10:36:10
21099
3
原创 数据库字段以及注释生成json格式
使用YApi做开发文档的时候,要手写各种参数备注,十分乏味,我就简单的想了个办法,通过sql和代码结合,简单的将表字段以及注释生成想要的json格式。话不多说,上代码sql代码如下SELECT CONCAT(',"',column_name,'": {"type": "', CASE `data_type` WHEN 'varchar' THEN 'String' WHEN 'timestamp' THEN 'Data' WHEN 'int' THEN 'integer' WH
2020-09-21 18:22:51
1024
2
原创 mysql数据库Can not connect to MySQL server. Too many connections连接数不够的问题
之前查了很多发放,主要解决办法有两种1.命令行修改进入mysql后,set GLOBAL max_connections=1024; 即可立即生效,但是博主没有使用这种方式,因为这种方法治标不治本,一点重启mysql,最大连接数又会变回默认的2.修改配置,然后重启vi /etc/m.cnf加入max_connections=600,然后重启mysql即可。重启后,清怪的事发生了,max_connections变成了214。我把max_connections又分别设置成500和213,实际的max
2020-09-21 18:03:04
740
原创 查看mysql数据库最大连接数和已经连接的数量
MySQL报错Can not connect to MySQL server. Too many connections,报错,很明确,与MySQL的连接数满了。首先我们先查看下数据线程池的一些数据查看最大连接数mysqladmin -uroot -p processlist一般这个时候会提醒你连接数已经够多了,你已经进入不了数据库了,所有还是使用你当前的客户端工具查看吧 SHOW PROCESSLIST; SHOW STATUS; SHOW VARIABLES LIKE "max_conne
2020-09-21 17:54:27
7754
1
原创 Mapper.selectByPrimaryKey()变全部条件查找问题
Mapper.selectByPrimaryKey()变全体案件查找问题springboot与Mybatis通用mapper整合时遇到了selectByPrimaryKey无法根据id查询的问题查看日志发现sql执行是标称了全条件查找,总结原因,是因为开发过程中,自动生成的类里面id添加注解在id上添加了@Id注解后执行ok!总结疏漏下次注意!...
2020-09-15 18:22:44
1336
原创 list集合元素根据某些字段排序
处理java list集合元素根据某些字段排序一、jdk1.6的环境下新建ComparatorSort类,并实现Comparator接口,重写compare方法降序排序:o1的元素>o2的元素,并返回-1;o1的元素小于o2的元素,并返回1升序排序:o1的元素>o2的元素,并返回1;o1的元素小于o2的元素,并返回-1在方法中可对多个元素进行判断。import java.util.Comparator;import app.component.app.entity.AppProje
2020-09-14 14:37:11
4403
2
原创 自动分割以”,”分隔的参数进行匹配
mysql 的 find_in_set函数使用方法有个表里面有个type字段,他存储的是字段类型,有 "1条件,2条件,3条件,4条件 …“等等现在有个对象里面选择的几个标签"1条件,3条件…”,要跟上表进行匹配查询,那么我们该怎么拆分type进行查询呢这就要我们的find_in_set出马的时候到了!先上代码<select id="newQueryRentalHousing" resultType="com.lianjia.user.dto.FocusHouseInfoDto">
2020-09-14 11:56:02
288
原创 BindingResult总结以及注意事项
BindingResult总结以及注意事项记一个简单又好用的API:BindingResultBindingResult使用起来很简单,一般在controller中使用作用:用于对前端穿进来的参数进行校验,省去了大量的逻辑判断操作相关的校验API:空检查@NotEmpty:用在集合类上面;不能为null,而且长度必须大于0@NotBlank: 用在String上面;只能作用在String上,不能为null,而且调用trim()后,长度必须大于0@NotNull:用在基本类型上;不能为null
2020-09-14 11:18:37
14449
原创 mybatis执行批量更新batch update 的方法(Oracle /Mysql)
mybatis在使用批量更新时mysql和oracle有一些差别,记录下以免下次忘记
2019-06-18 18:05:09
11054
5
原创 常用数据库查询优化小结
数据量巨大的情况下,一个好的系统想要使用流畅,数据库查询优化是必须的。因为使用MyBatis的原因,小编平时最多的任务之一就是写sql了,但同样是写sql,怎样体现出一个程序员的经验呢,那就是数据库查询的优化意识。小编最近面试被问到很多数据库查询的优化问题,虽然我们心里知道哪些,也知道一些没有用到过的概念,但是面试时确会突然说不出几个,所以做了以下总结以供参考查阅。
2019-05-28 10:57:36
781
原创 sql查询字段中的换行符
开发过程中,有时候发现有些数据使用看似对的查询条件,死活就是查不出来,上网查阅了下,有可能是因为之前保存数据是存入了脏数据进去比如换行符
2019-05-23 16:15:41
15881
原创 数据库中的in与exists,not in与not exists问题总结以及注意事项
数据库操作中,进场遇到in与exists,not in与not exists,从概念上来说功能相同,但从使用和实现上来说责不大相同,现在就以上四个方便做简单的对比分析以及使用注意事项总结,以供参考查阅
2019-05-23 11:58:35
1855
原创 数据库修改字段类型但是有旧数据处理步骤
开发过程中经常会遇到数据库已经存有数据,但经过测试发现原来的表设计中字段格式不合适的问题,现在把修改的步骤以及经验总结一下,以供参考查阅
2019-05-21 15:47:20
2781
原创 查询数据多出一天数据的情况分析
小编今天遇到前辈留下的一个系统的历史遗留bug,查询报表数据,本来查询时间是4-01到4-30的数据,但是查出的数据确多出了一天的数据,先看代码
2019-05-20 15:45:10
415
原创 dblink的创建和使用总结
oracle中的database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表和执行远程程序。在任何分布式环境里,dblink都是必要的,另外注意database link是单向的连接。在创建database link的时候,oracle在数据字典中存储了相关的database link的信息,在使用database link的时候,oracle再通过oracle net用户预先定义好的连接信息访问相应的远程数据库来完成相应的工作。
2019-05-16 23:58:12
23345
2
原创 cronolog工具分割日志使用,Linux上Tomcat日志分割
Linux上Tomcat日志分割,cronolog工具的使用,以及cronolog配置成功但是程序启动失败问题
2019-05-15 22:32:15
388
原创 Oracle 中 decode 函数条件判断方法类似于java中的if else
Oracle 中 decode 函数用法含义解释:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) …ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省...
2019-05-15 20:49:43
894
原创 java中a = a + b 与 a += b 的区别
a = a + b 与 a += b 的区别+= 隐式的将加操作的结果类型强制转换为持有结果的类型。如果两这个整型相加,如 byte、short 或者 int,首先会将它们提升到 int 类型,然后在执行加法操作。byte a = 127;byte b = 127;b = a + b; // error : cannot convert from int to byteb += a; /...
2019-05-15 20:46:38
1308
原创 MyBatis插入Insert、InsertSelective的不同以及使用心得
逆向自动生成的mybatis对应配置Mapper文件里面,有两个方法,分别为insert和insertSelective。这两个方法均是插入对象的方法。为什么会有两个插入方法呢?这里说一下两者的区别。
2019-05-15 11:22:00
7980
3
原创 时间转换获取日/时/分/秒,Java Calendar类的使用总结
Java Calendar类的使用总结开发经常会遇到时间问题,在此针对Calender类的使用方法简单总结记录,以供查阅参考为了更加便捷的对日期进行操作,Calendar类对YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月...
2019-05-15 10:45:20
530
日志分割工具.txt
2019-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人