spring 数据库读写分离

代码 git :https://github.com/cyliang1113/java-demo.git中,rwseparation-demo


简单介绍:

service方法中如果只有读数据库操作,使用只读数据库;

service方法中如果有读和写数据库操作,使用写数据库;

一般来说会有一个写数据库多个只读数据库,当只有读操作的时候访问只读数据库;


需要自己动手实现的:

1,数据源,需要继承AbstractRoutingDataSource数据源,实现determineCurrentLookupKey方法;

2,编写一个spring aop环绕通知,spring配置切面时,自定义的通知优先级要高于spring事务通知;

3,通过ThreadLocal实现一个线程内部的数据共享;

4,定义一个注解用在只有读数据库操作的service方法上;


具体怎么配置见代码中spring的配置文件;



你可能感兴趣的:(spring)