- 博客(5)
- 收藏
- 关注
转载 Spring事务管理之编程式事务管理和声明式事务
Spring事务管理Spring支持两种方式的事务管理:编程式事务管理:通过Transaction Template手动管理事务,实际应用中很少使用, 使用XML配置声明式事务:推荐使用(代码侵入性最小),实际是通过AOP实现实现声明式事务的四种方式:基于 TransactionInterceptor 的声明式事务:Spring 声明式事务的基础,通常也不建议使用这种方式,但是与前面一样,了解这种方式对理解 Spring 声明式事务有很大作用。 基于 TransactionP...
2020-12-08 13:26:21
310
转载 springboot 多数据源二 之 ThreadLocal维护数据源类
一、ThreadLocal简单介绍首先,ThreadLocal是用来维护本线程的变量的,并不能解决共享变量的并发问题。ThreadLocal是各线程将值存入该线程的map中,以ThreadLocal自身作为key,需要用时获得的是该线程之前存入的值。如果存入的是共享变量,那取出的也是共享变量,并发问题还是存在的。简单看一下例子: public class TestThreadLocal { private static final ThreadLocal<String.
2020-11-25 14:33:44
631
转载 springboot多数据源一 之AbstractRoutingDataSource原理剖析
因为配置多数据源使用了这个类,固记录一下,方便后面查阅ThreadLocalRountingDataSource继承了AbstractRoutingDataSource,实现其抽象方法protected abstract Object determineCurrentLookupKey(); 从而实现对不同数据源的路由功能。我们从源码入手分析下其中原理:public abstract class AbstractRoutingDataSource extends AbstractDataSou.
2020-11-25 13:56:40
881
原创 springboot 中多线程+线程池如何实现
1. 概念理解:多线程和异步调用之前一直不理解有什么区别,发现,这两个是一件事情的不同角度,多线程是方法,异步是目的在springboot 可以通过注解@Async 搞定。线程池:线程池引入的目的是为了解决:多次使用线程意味着,我们需要多次创建并销毁线程。而创建并销毁线程的过程势必会消耗内存;线程池的好处,就是可以方便的管理线程,也可以减少内存的消耗。在springboot 提供ThreadPoolTaskExecutor 线程池无返回值的任务使用public void execu...
2020-11-19 14:54:18
1069
原创 Gson 的高级使用 GsonBuilder 高级使用
GsonBuilder目前具有的方法setFieldNamingPolicy 设置序列字段的命名策略(UPPER_CAMEL_CASE,UPPER_CAMEL_CASE_WITH_SPACES,LOWER_CASE_WITH_UNDERSCORES,LOWER_CASE_WITH_DASHES) addDeserializationExclusionStrategy 设置反序列化时字段采用策略ExclusionStrategy,如反序列化时不要某字段,当然可以采用@Expore代替。 exclu
2020-11-18 15:53:10
1701
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人