spring数据源-关于spring AbstractRoutingDataSource和切面执行顺序问题

问题描述

关于spring AbstractRoutingDataSource和切面执行顺序问题
我想spring AbstractRoutingDataSource和spring aop配合使用,达到动态切换数据源的功能。
现在有一个问题是,如果我把aop before设置到service层上,发现一个请求过来会先进入
spring mvc的controller,然后再进入AbstractRoutingDataSource,最后才进去aop before中,
这样就导致不能在service层动态切换数据源,有解决方案吗?

时间: 2024-10-30 11:19:43

spring数据源-关于spring AbstractRoutingDataSource和切面执行顺序问题的相关文章

Spring数据源C3P0,DBCP

    Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0.可以在Spring配置文件中利用这两者中任何一个配置数据源.  DBCP数据源      DBCP类包位于 <spring_home></spring_home>/lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括<spring_ho

【Spring实战】—— 13 AspectJ注解切面

前面了解了典型的AOP基于配置的使用方法,下面介绍下如何依赖于注解来实现AOP. 基于注解降低了配置文件的复杂程度,但是引入了程序间的耦合,其中的优劣待用户自己判断了. 需要注意的是,确定AspectJ与JDK之间的版本,否则会报错,详情请见. 首先看一下基于注解的切面类,这时的切面不仅仅是一个POJO类了,与AOP进行了紧密的耦合.但是配置过程和方式都与原来的方式差不多. package com.spring.test.chap44; import org.aspectj.lang.annot

Spring中反向控制和面向切面编程的应用

引言 在J2EE的整个发展历程中,现在正是一个非常时刻.从很多方面来说,J2EE都是一个伟大的成功:它成功地在从前没有标准的地方建立了标准:大大提升了企业级软件的开放程度,并且得到了整个行业和开发者的广泛认可.然而,J2EE在一些方面已经开始捉襟见肘.J2EE应用开发的成本通常很高.J2EE应用项目至少和从前的非J2EE项目一样容易失败--如果不是更容易失败的话.这样的失败率高得让人难以接受.在这样的失败率之下,软件开发几乎变成了碰运气.而在J2EE遭遇失败的场景中,EJB通常都扮演着重要的角色

【spring+quartz框架】scheduler.reschedulejob后执行了多次

问题描述 [spring+quartz框架]scheduler.reschedulejob后执行了多次 关于spring+quartz框架配置多线程调度任务,小弟有一事一直没搞明白 一.quartz.properties中配置: #=============================================================== #Configure Main Scheduler Properties #================================

【Spring开发】—— Spring Core

前言 最近由于一些工作的需要,还有自己知识的匮乏再次翻开spring.正好整理了一下相关的知识,弥补了之前对spring的一些错误认知.这一次学习,更加深入的理解了Ioc和AOP的思想,并对其架构模块有了更深一步的理解. 刚开始翻看spring技术内幕,虽然有了一点看源码的经验,但是直接看如此深的源码,还是很头疼.spring由于业务的扩展,以及用户群的增加,对于某些模块的类封装的很深!因此追溯源码是个很头疼的问题,而直接看这本书,也是压力山大. 于是回去复习一下spring的基本知识,先学会走

spring data jpa + spring mvc的事务控制问题

问题描述 spring data jpa + spring mvc的事务控制问题 问题大概是这样的,如下@Transactionalpublic void save(A a){ a = aRepository.save(a); B b = new B();b.setAId(a.getId());bRepository.save(b); }这样是获取不到a对象的id的,因为方法没有执行完,这个事务没有提交,数据没有更新到数据库,请问如果我想在save之后通过返回的对象就能拿到主键需要怎么做,事务是

使用JWT保护你的Spring Boot应用 - Spring Security实战

作者 freewolf 原创文章转载请标明出处 关键词 Spring Boot.OAuth 2.0.JWT.Spring Security.SSO.UAA 写在前面 最近安静下来,重新学习一些东西,最近一年几乎没写过代码.整天疲于奔命的日子终于结束了.坐下来,弄杯咖啡,思考一些问题,挺好.这几天有人问我Spring Boot结合Spring Security实现OAuth认证的问题,写了个Demo,顺便分享下.Spring 2之后就没再用过Java,主要是xml太麻烦,就投入了Node.js的怀

Spring.net(一)----Spring.NET框架简介及模块说明

Spring Framework天生丽质,因为其先进的架构和对一系列前沿开发思想的集成,使它从一产生就深得开发者欢迎,它将设计模式运用到了炉火纯青的地方,它的幽雅和魅力征服了许多JAVA开发者,使这些开发者成为了它的信徒,得程序员心者得天下,Spring引领了J2EE开发的潮流,同时Spring和各种框架的强强联手也为它的信徒的尽早飞翔插上了翅膀,比如老大哥SSH(配置烦琐的struts和Hibernate.Spring的集成).后起之秀EJSA(身材轻便使用灵活及零配置的EASYJWEB+JP

框架-Spring mvc和spring的区别

问题描述 Spring mvc和spring的区别 在书里看到的例子,业务层和持久层用的spring框架,而表现层由Spring mvc 实现 spring mvc和spring的区别在哪里?应用的地方不同吗? 这样的话只有表现层用了MVC的设计模式?其它层可以用spring mvc框架吗? spring可以整合其他的框架,意思说三层可以由不同的框架实现? 刚学spring,问题比较多,先谢了 解决方案 三层架构和MVC是有明显区别的,MVC应该是展现模式(三个加起来以后才是三层架构中的UI层)