自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 spring boot + mybatis加载原理

问题:在学习springboot原理的时候,一直想找个现实版的实例检测和梳理下内容,于是着手打算从正在使用的mybatis试用开始。因为项目用到了tk.mybatis ,因此直接从这个开始分析,慢慢梳理下先从自动配置开始mybatis的自动配置:# Auto Configureorg.springframework.boot.autoconfigure.EnableAutoConfi...

2019-12-28 11:12:10 502

原创 mybatis SQL注入攻击 以及XSS攻击csrf攻击

mybatis SQL注入攻击 以及XSS攻击csrf攻击以上攻击形式跟原理不多做介绍,此处记录处理方案SQL注入问题:系统在经过安全扫描是,被告知存在SQL注入的封信,mybatis的预编译是不存在注入风险的,但是在排序字段的处理上,没法使用预编译,同时,在个别字段,存在使用$取值等不规范的操作,以上操作均会出现注入的风险注入代码实例:字段添加如下信息,虽然报错,但是会暴露出数据库用户...

2019-12-28 11:11:37 2080

原创 博客素材

2019-10-14 19:05:42 604

原创 好用的工具

JSON在线转换二维码生成器yml->propertiesweb代码测试代码格式化

2019-10-14 17:14:31 116

原创 idea借助mybatis工具快速生成数据库交互代码

问题:之前有提到,建议大家使用mybatis逆向工程插件生成项目中数据库交互的代码,使用过程中发现有几个问题使用不是很方便:1.逆向工程配置文件不会很好配置,新接触的人需要一段时间来学习配置项内容,XML的形式也不是很好理解。2.针对微服务的形式,会存在多个项目都会有数据库交互,这样每个人项目都需要生成数据库的代码,存在重复的工作。3.生成的Mapper代码,使用的时候不是很方便,在业务代...

2019-10-14 10:09:47 374

原创 土鳖之静态内部类MybatisAutoConfiguration

问题:在看mybatis代码的时候,发现MybatisAutoConfiguration类中连续使用了两个内部静态类(AutoConfiguredMapperScannerRegistrar,MapperScannerRegistrarNotFoundConfiguration),嘿嘿,没见识的我赶紧百度了下。调试过程调试时发现AutoConfiguredMapperScannerRegis...

2019-09-20 16:44:52 503

原创 土鳖之有参数的@Bean,@Configuration注解

问题:今天看mybatis源码的时候,发现MybatisAutoConfiguration在注入的时候,是一个有参的构造器,嘿,来劲了,这参数是哪来的啊,后来跟了半天,java 的native都看见了,没发现参数,后来发现构造函数在执行的那部分是spring的代码,怀疑是@bean注解的作用,百度了下,还真是的,原来@Bean注解想容器注入对象的时候,会自动将容器中已经有的对象传入到@Bean注...

2019-09-19 17:50:37 1178

原创 关于到底使用Redis还是数据库SQL的思考

问题:前端时间项目开始阶段,组长强烈支持使用Redis作为缓存,并且将数据库的数据存入Redis中,查询时查Redis,现在想来也找不到为什么,但是因为后来项目嗝屁了,也就不了了之,但是之后,闲暇之余,一直想尝试,自己实现像查数据库那样方便的查询Redis,后来也就动手了,具体的实现将会在另外一篇文章介绍,这里先整理下问题。项目实现之后,实际测试之后发现,这样从Redis查数据,并没有比从数据库...

2019-09-19 16:16:29 1888

原创 Springboot的切点可配置化-DefaultPointcutAdvisor

问题现象:之前为解决异常的统一处理方式,写了异常处理切面,但是随着微服务节点越来越多,会出现每个微服务都需要单独写一个异常处理的切面,比较麻烦,因此考虑将切点可配置,切面提取到公共包内,但是几经尝试,@Aspect的方式始终无法读取配置的切点,最终使用DefaultPointcutAdvisor解决。原理:DefaultPointcutAdvisor是Spring默认的一个很强大的增强类,使用...

2019-09-18 13:27:30 7177 9

原创 ConditionalOnProperty

ConditionalOnProperty的使用问题:想办法将项目的异常处理切面提取到公共的包,切点实现可配置化,但是出现了以前的节点,没有配置切点配置文件,导致项目启动报错解决方式:增强切面配置类使用条件配置项ConditionalOnProperty,有配置的时候,才加注入配置类。@Configuration@ConditionalOnProperty(name = "aop.ex...

2019-09-18 13:18:07 146

原创 正则表达式理解

一直对正则表达式一知半解,今天在用的时候,半天写不出来。在此整理下自己的理解。问题一:那个可以匹配多个数字答案: \d+ 加号表示出现一次或者更多,也可以写成 \d{1,}问题二:那个可以匹配多个字母答案:\w+ 或者 \w{1,0} 注意:这个实际上可以匹配字母,数字,下划线;多个问题三:那个可以匹配单个字符,单个字母答案:[0-9a-z] 注意:[] 其实是自定义表...

2019-09-12 17:58:06 114

原创 java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>() 错误记录

出现以上报错,从以下两点排查:1.pom 依赖的包版本boot项目只需要引入<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</...

2019-09-01 11:44:16 236

原创 SpringBoot学习(3)-refresh() 敲重点

入口处((AbstractApplicationContext) applicationContext).refresh();可以看见这里是执行了 AbstractApplicationContext 的refresh 方法。本文的 wen环境 ,因此是 ServletWebServerApplicationContext,话不多少,最终执行的还是 父类AbstractApplication...

2019-08-31 12:17:32 202

原创 SpringBoot学习(3)-prepareContext()

此部分详细分下 prepareContext处理的东西源码如下:context.setEnvironment(environment); this.postProcessApplicationContext(context); this.applyInitializers(context); listeners.contextPrepared(c...

2019-08-31 10:13:53 179

原创 SpringBoot学习(2)-创建ConfigurableApplicationContext

在一中我们提到了 createApplicationContext();但是只是没有详细的分析。代码中可以发现 通过:BeanUtils.instantiateClass(contextClass) 创建了实例,但是具体到底创建了什么实例,这里选择了 web环境下的AnnotationConfigServletWebServerApplicationContext 进行初步的解析:pub...

2019-08-30 11:31:06 757

原创 DefaultListableBeanFactory

今天在看Springboot源码的时候,调试发现AnnotationConfigServletWebServerApplicationContext 中 DefaultListableBeanFactory,一直对BeanFactory 存在好骑,百度发现,BeanFactory 接口的实现类DefaultListableBeanFactory贯穿了IOC容器的使用,因此决定研究研究这个Bean...

2019-08-30 11:13:45 525

原创 Spring Boot mybatis.mapperLocations配置多个文件夹 以及引入jar包内的xml

Spring boot mybatis.mapperLocations配置多个文件夹mybatis.mapperLocations=classpath*:/base/*/mapper/*.xml,classpath*:/common/mapper/*.xml 直接以逗号分隔多个文件夹即可引入jar包内的xml问题现象:项目A引入依赖项目B的jar 但是在项目B中的mybatis的...

2019-08-26 10:28:34 1097

原创 SpringBoot学习(1)-启动

springBoot简介 Spring Boot是一个简化Spring开发的框架。用来监护spring应用开发, 约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用spring与springboot的区别## 标题...

2019-08-26 10:27:33 138

原创 Mybatis generator 的使用,以及JavaTypeResolver 的修改

#使用 Mybatis generator 可以动态的生成跟数据库交互的代码pom 依赖pom需要添加如下配置:1.插件包依赖 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifac...

2019-08-26 10:24:22 9607

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除