会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
swave
2021年6月16日
接口动态代理IOC注入到spring容器中
摘要: public interface StudentService { public void add(String studentName); } 定义一个spring的FactoryBean,FactoryBean在通过spring实例化生成的不是自己本身,而是通过调用的getObject方法返回的
阅读全文
posted @ 2021-06-16 17:13 swave
阅读(555)
评论(0)
推荐(0)
Spring自定义实现ImportBeanDefinitionRegistrar引入外部类
摘要: import java.io.IOException; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.annotation.Cla
阅读全文
posted @ 2021-06-16 15:16 swave
阅读(289)
评论(0)
推荐(0)
Spring的Import,ComponentScan,ImportResource原理
摘要: org.springframework.context.annotation.ConfigurationClassPostProcessor(Bean定义的后置处理器)中,轮询BeanDefinitionRegistry中注册的所有已注册的类,找出包含Import,ComponentScan,Imp
阅读全文
posted @ 2021-06-16 14:34 swave
阅读(243)
评论(0)
推荐(0)
2021年1月14日
如何保证事务方法的幂等
摘要: 1 insert方法:数据库使用唯一索引,保证不重复插入数据 2 update方法:并发不大:使用乐观锁(版本号),或者使用状态机。 3 select方法:天然就支持幂等,多次查询对数据不造成影响。 4 delete方法:一次删除和多次删除的结果对系统数据不影响。
阅读全文
posted @ 2021-01-14 16:51 swave
阅读(181)
评论(0)
推荐(0)
2020年6月29日
定时重试线程池
摘要: 根据特定配置异常进行重试的线程池,支持配置最大重试次数,超时重试时间间隔等。 以下为具体代码: import java.net.SocketTimeoutException; import java.text.SimpleDateFormat; import java.util.Date; impo
阅读全文
posted @ 2020-06-29 17:47 swave
阅读(831)
评论(0)
推荐(0)
2019年12月23日
多线程导致事务失效-记一次性能优化
摘要: 优化背景:项目中有一个批量更新的方法,由于代码逻辑是逐个调用数据库进行更新,导致在更新数量多的情况下,整个方法执行慢。 正常业务情况下,更新的数量能达到500个,假设更新一个耗时为100ms,那么500个需要的时间为50秒,用户肯定等不了那么久,需要优化。 一开始想法是,开启多线程去更新,一个线程执
阅读全文
posted @ 2019-12-23 17:08 swave
阅读(6166)
评论(0)
推荐(0)
2019年10月24日
自己实现一个简单的数据库事务
摘要: 原理:通过Spring提供的BeanPostProcessor来对使用了事务注解的类进行动态代理,通过spring提供的获取数据库连接工具类DataSourceUtils来获取连接。 只有两个类 MyTransactional 和 TransactionBeanPostProcessor,MyTra
阅读全文
posted @ 2019-10-24 15:54 swave
阅读(335)
评论(0)
推荐(0)
2019年10月21日
服务器错误码国际化
摘要: 最近项目要做国际化,由于前端直接显示了后端返回的错误码文案,所以后端需要针对错误码做国际化。 实现过程中主要考虑要满足以下两个需求: 1、由于世界的语言非常多,所以新增一门语言能够快速增加,不需要改动代码骨架。 2、在新增一个错误码时,不同的语言的实现类都要同步新增一个错误码,如果未新增时,系统启动
阅读全文
posted @ 2019-10-21 16:49 swave
阅读(1201)
评论(0)
推荐(0)
2019年10月18日
spring自定义自动配置注解
摘要: 我们知道springboot自动配置@EnableAutoConfiguration是通过@Import(AutoConfigurationImportSelector.class)来把自动配置组件加载进spring的context中的. 我们来看看@Import的定义: /** * Indicat
阅读全文
posted @ 2019-10-18 17:11 swave
阅读(969)
评论(0)
推荐(0)
springboot中如何启动tomcat
摘要: springboot启动时,会自动识别出当前环境是否是web环境还是非web环境。 ConfigurableApplicationContext org.springframework.boot.SpringApplication.createApplicationContext(): 那么我们来详
阅读全文
posted @ 2019-10-18 12:27 swave
阅读(1441)
评论(0)
推荐(0)
下一页
导航
博客园
首页
新随笔
联系
订阅
管理
公告