spring
文章平均质量分 55
anthony4515
一步一个脚印
展开
-
Mybatis foreach 性能问题
背景最近在做一个类似于综合报表之类的东西,需要查询所有的记录(数据库记录有限制),大概有1W条记录,该报表需要三个表的数据,也就是根据这 1W 个 ID 去执行查询三次数据库,其中,有一条查询 SQL 是自己写,其他两条是根据别人提供的接口进行查询,刚开始的时候,没有多想,直接使用 in 进行查询,使用 Mybatis 的 foreach 语句;项目中使用的是 jsonrpc 来请求数据,在测试的时候,发现老是请求不到数据,日志抛出的是 jsonrpc 超时异常,继续查看日志发现,是被阻塞在上面的三条S转载 2021-04-25 17:03:46 · 593 阅读 · 0 评论 -
Java实现自定义注解
正文 注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。注解的基本元素 声明一个注解要用到的东西修饰符 访问修饰符必须为public,不写默认为pubic; 关键字 关键字为@interface; 注解名称 注解名称为自定义注解的名称,使用时还会用到; 注解类型元素 注解类型元素是注...转载 2021-02-18 15:38:52 · 89 阅读 · 0 评论 -
spring 参数校验
有参数传递的地方都少不了参数校验。在web开发中,前端的参数校验是为了用户体验,后端的参数校验是为了安全。试想一下,如果在controller层中没有经过任何校验的参数通过service层、dao层一路来到了数据库就可能导致严重的后果,最好的结果是查不出数据,严重一点就是报错,如果这些没有被校验的参数中包含了恶意代码,那就可能导致更严重的后果。因此,对于请求参数,一般上都需要进行参数合法性校验的,原先的写法时一个个字段一个个去判断,这种方式太不通用了,并且当参数较多的时候,代码回显的很臃肿,例如转载 2021-02-02 14:10:52 · 923 阅读 · 1 评论 -
通用mapper
在博客园发表Mybatis Dynamic Query后,一位园友问我知不知道通用mapper,仔细去找了一下,还真的有啊,比较好的就是abel533写的tk.mybatis.mapper。本次例子地址:https://github.com/wz2cool/tk-mybatis-demo传统Mybatis用法Spring boot引用基本的jar到pom<dependency> <groupId>org.mybatis</groupId>转载 2021-01-11 10:18:52 · 98 阅读 · 0 评论 -
Spring事务注解 Transactional 失效
前情提要:当Service接口实现类中存在内部方法调用,并且方法需要支持事务控制时,事务控制失效,事务的传播级别为默认REQUIRED(默认模式)。1、简化版翻车代码:Service接口层Service接口实现类2、需求说明:(1)数据库表主要有两个,t_user(用户表),t_sms(发送短信记录表);(2)主业务为新用户注册,往数据库中添加用户记录,t_user表中有记录存在,后面的其他操作不应该影响此操作(方法有事务);(3)辅助功能(方法有事务),先往t_sms表原创 2021-01-07 18:06:23 · 143 阅读 · 0 评论 -
Spring IOC 容器源码分析
Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。本文采用的源码版本是 4.3.11.RELEASE,算是 5.0.x 前比较新的版本了。为了降低难度,本文所说的所有的内容都是基于 xml 的配置的方式,实际使用已经很少转载 2020-09-08 10:45:57 · 93 阅读 · 0 评论 -
Spring系列之Spring常用注解总结
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率。为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少转载 2020-08-20 23:51:29 · 126 阅读 · 0 评论