9 快乐柠檬

尚未进行身份认证

每天进步一点点

等级
TA的排名 4k+

JdbcTemplate使用?占位符,查询带in条件的sql

概述使用JdbcTemplate,采用占位符写法,防sql注入攻击,带有in条件的处理拼接方法 /** * <pre> * 获取 PreparedStatement 需要的in sql 子句 * 如: * 空集合:('') * [1, 2, 3] (?,?,?) * </pre> * @param params * @return ...

2019-09-06 15:38:00

JdbcTemplate防止sql注入攻击的源码解析

概述使用spring中org.springframework.jdbc.core.JdbcTemplate进行sql上查询时,如果采用拼接sql的方式,是会发生sql注入攻击的。会发生sql注入的查询query(String sql, RowMapper<T> rowMapper)源码解析 @Override public <T> List<T> q...

2019-09-04 20:01:32

SpringBoot基于自定义注解简洁方便地实现Redis分布式锁

需求描述控制某个service的方法,当有线程调用了该方法后,其他线程不可再调用该方法基于自定义注解实现,使用时只需要在被调用的方法上添加注解标记即可redis的锁键(lockKey)通过自定义注解的属性传递进去客户端如果在当前时间不可执行该方法,可以得到及时的反馈转载请备注出处:SpringBoot基于自定义注解简洁方便地实现Redis分布式锁技能点使用spring-inte...

2019-07-31 17:35:41

Spring中RedisTemplate的使用

需求描述一个查询List的需求,如果redis有,就直接从redis中获取List返回。如果没有,则先查询,再保存入redis中。使用RedisTemplate实现。实现步骤添加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&gt...

2019-07-16 17:36:25

SpringBoot中java8的java.time.LocalDateTime类JsonFormat说明

问题概述在SpringBoot中,需要对java8的java.time.LocalDateTime类进行个性化的JsonFormat。处理前,默认处理的日期-时间效果 "create_time": { "year": 2019, "month": "JUNE", "month_value": 6, ...

2019-06-27 18:08:18

Spring Boot 在日志中显示sql语句

在使用Spring Boot进行开发时,有时我们为了调试方便,需要输出sql语句,尝试了以下两种办法:show-sqlspring: jpa: show-sql: true不管用logginglogging: level: org: hibernate: SQL: DEBUG管用打印效果如下:也可以实现指定包的日志级别,如:...

2019-03-04 15:32:02

Spring Boot 2.0+使用Redis做缓存,@Cacheable注解的unless参数详解

需求概述在Springboot中,用Redis作为缓存,在指定方法上使用@Cacheable注解,并且只缓存特定返回值结论@Cacheable中,unless参数的作用是:符合EL表达式条件的,不缓存。高效一些,我先把结论写在前面。感兴趣的朋友可以继续阅读具体的论证过程。部分代码实现具体方法importorg.springframework.cache.annotation.C...

2019-02-01 18:52:21

Spring Boot 统一设置Json数据返回风格(Java驼峰命名转下划线)

编写重写了WebMvcConfigurerAdapter的配置类@Configuration@EnableWebMvcpublic class WebMvcConfig extends WebMvcConfigurerAdapter { /** * 统一输出风格 * See {@link com.fasterxml.jackson.databind.PropertyNamingS...

2018-12-12 17:34:43

Java Set接口contains(Object o)方法与对象hashCode()方法的关系梳理

概述接下来我们要讨论如下问题:1、Set接口的contains方法,判断是否包含的依据是什么?2、对象hashCode和equals方法之间的关系1、Set接口的contains方法,判断是否包含的依据是什么?我查看了一下接口文档,里面是这样描述的:该方法重写了Collection接口的contains方法Returns true if this set contains the ...

2018-10-09 10:20:13

微信公众号开发 获取openid时报错40163:code been used问题的解决

概述通过微信官方提供的接口https://api.weixin.qq.com/sns/oauth2/access_token接口,获取openid,结果获取不到。报错代码WechatUserInfo(accessToken=null, expiresIn=null, refreshToken=null, openid=null, scope=null, errcode=401...

2018-08-21 17:35:47

微信公众号开发 获取openid时报错40029 invalid code 问题的解决

概述通过微信官方提供的接口https://api.weixin.qq.com/sns/oauth2/access_token接口,获取openid,结果获取不到。报错代码WechatUserInfo(accessToken=null,expiresIn=null,refreshToken=null,openid=null,scope=null,errcode=40...

2018-08-21 17:30:11

SpringBoot+Druid报错Failed to determine a suitable driver class的解决

问题描述项目中使用了自定义的Spring Listener配置,从网络获取配置KV,在SpringBoot启动过程中加载,然后再加载Druid环境。程序启动时报错:***************************APPLICATION FAILED TO START***************************Description:Failed to auto-...

2018-08-13 18:23:58

修改Maven的模块名

如果有一个现有的多模块Maven项目,想要修改其中的一个模块名,可这样进行:step 1修改子模块的project>artifactId为新名称step 2修改父pom的project>modules>module名称step3注意:是在文件夹中直接修改该模块对应的文件夹名称。 在IDE里面修改,可能会有不吻合。IntelliJ中重新...

2018-07-23 17:20:44

Spring Boot 选择外部Tomcat运行,打war包的修改流程

有时候,使用Spring Boot发布程序时,我们不想使用内嵌的tomcat运行,还想用传统的war包到tomcat发布的方式,可以按照如下步骤进行:step1 修改pom的packaging为war<packaging>war</packaging>step2 增加下面依赖覆盖内嵌的Tomcat依赖<dependency> &l

2018-07-23 16:40:21

Druid监控页面配置reset-enable的说明

最近使用到Druid数据库连接池,就研究了一番。 发现reset-enable 设置后: 监控页面的“重置按钮”并没有消失。 点击后也有反馈: 后来,做了以下尝试:设置为false修改yml文件中spring.datasource.druid.stat-view-servlet.reset-enable=false打开监控页面,发现:“重置”按钮有点击“重置”...

2018-07-19 15:56:40

ArrayList中remove方法的注意事项

少罗嗦,先看代码public class ListRemove { public static void main(String[] args) { System.out.println("测试remove包装类型和非包装类型"); ArrayList<Integer> myList = new ArrayList<Inte

2018-06-10 18:09:33

Charles把测试包APP链接重定向到本地环境

需求描述让测试环境的APP包、访问本地的项目,方便调试bug步骤1、启动本地项目,明确访问路径 2、配置手机端代理到PC 3、打开Charles 4、打开APP 5、打开Charles–>Tools–>Map remote… 6、新建一个映射 7、注意:map from 中的Path处,需要在项目名末尾加上“/*”,来转发此路径下的所有的reques...

2018-06-08 16:12:41

Win8.1在关机界面卡住无反应问题的解决

概述电脑:HP Envy6 系统:Win8.1 问题:关机时,卡在关机界面转圈、无反应,屏幕一直亮着解决长按电源键强制关机,然后再开机,按Esc键,进入Bios设置 恢复默认配置,进入系统。 再按下Win+X,选择关机,可以正常关机...

2018-05-11 17:04:07

redis报错Could not get a resource from the pool问题的解决

概述上线了一个新项目,结果报错:redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:51) at redis.clients.jedis.JedisPo

2018-05-08 10:32:58

Mysql使用Double类型报错Out of range value的解决

# mysql版本:5.6.24select version();# 创建一个带double类型字段的表CREATE TABLE double_test ( id VARCHAR(32) PRIMARY KEY, score DOUBLE(5, 2))# 录入一个3位整数部分、2位小数部分,一共5个数字的数INSERT INTO double_test VALUE (re...

2018-04-25 10:48:55

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。