今天配置spring2.0的一个项目,配置了spring2中的aop事务。切入点随便写了个表达式execute(public * *(..)),写了个测试方法,开始初始化spring配置。报出:
org.springframework.beans.factory.BeanCurrentlyInCreationException:
Error creating bean with name 'fisDataSource':
Bean with name 'fisDataSource' has been injected into other beans
[fisSessionFactory] in its raw version as part of a circular reference,
but has eventually been wrapped (for example as part of auto-proxy creation).
This means that said other beans do not use the final version of the bean.
This is often the result of over-eager type matching - consider using
'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
。郁闷了,看意思是说什么循环引用了,看了代码没有循环引用。网上看了一圈也没有结果。只能一步步试了。
开始从配置中删除一些,运行看结果。删除掉<aop:config>的配置后,运行正确。不解,这个地方跟错误有什么关系。仔细考虑了一些,可能是spring当配置aop切入点是会进行一个类似于注册的操作,扫描配置的切入点,生成相应的代理。而前面配置的数据源spring已经初始化并且singleton,所有出现上面的问题。
为了验证猜测,修改了<aop:config>中切入点的配置,给为只捕获本工程的包路径。终于看见熟悉的绿条。:(
一切ok,将机子从外网切回到内网,又是一堆错误。
org.springframework.beans.factory.BeanDefinitionStoreException:
Line 9 in XML document from class path resource [fisconfig/applicationContext.xml]
is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot
find the declaration of element 'beans'.
Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
。我考,刚才还可以,马上就不行了。竟然找不到beans,应该是找不到spring对应的schema。看了一下,classpath中有spring,打开spring的jar包,META-INF下有spring.schemas,安装osgi,spring应该可以找到的了。
网上google了一下,没有什么好的结果,看来又要自己来了。
又仔细比对了spring.schemas中的配置,我晕。竟然发现自己的xsd的子版本跟spring中不一样。原来自己spring配置文件中的头是从别的项目中copy了一个,竟然没发现2个项目的spring版本不一样,里面对于的shemas也不一样。马上修改,又见绿条。
总结今天的错误,都是由于粗心,偷懒造成的,引以为戒。
分享到:
相关推荐
在开发基于Spring Boot和Spring Cloud的应用程序时,经常会遇到各种挑战,其中之一就是“unknown”问题。这通常出现在IDEA环境中,意味着系统无法正确识别或解析某些依赖或配置。本篇文章将详细探讨这个问题,并提供...
Spring Integration + Spring WS 整合 在 Java 领域中,Spring Integration 和 Spring WS 是两个常用的框架,它们分别负责集成系统和 Web 服务。今天,我们将探讨如何将这两个框架整合在一起,实现一个完整的 Web ...
在Java开发领域,Spring Boot和Spring Batch的整合是构建高效批处理系统的一种常见方式。Spring Boot以其简洁的配置和快速的启动能力深受开发者喜爱,而Spring Batch作为Spring框架的一部分,专注于批量处理任务,...
Spring框架是Java应用程序开发中的一个核心组件,它提供了一个丰富的IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)功能,使得开发者能够更方便地管理对象和实现模块化...
Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念 第1章 控制反转和容器 1.1 使用容器管理组件 1.1.1 问题描述 1.1.2 解决方案 1.1.3 实现方法 ...
在构建分布式系统时,Spring Cloud Gateway 作为微服务架构中的边缘服务或 API 网关,扮演着至关重要的角色。它负责路由请求到相应的微服务,并可以提供过滤器功能,如限流、熔断等。而Spring Security 则是 Java ...
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...
Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和强大的功能特性而闻名。这个"spring类库"包含的资源可以帮助开发者快速搭建基于Spring的项目环境。以下是对Spring框架及其核心组件的详细解释。 ...
包含spring 3.0.5的所有jar文件: org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE...
Spring 配XML的十二种技巧
Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念 第1章 控制反转和容器 1.1 使用容器管理组件 1.1.1 问题描述 1.1.2 解决方案 1.1.3 实现方法 ...
在IT行业中,Spring框架是Java应用开发中的一个关键组件,它提供了一整套服务来简化企业级应用的构建。RabbitMQ则是一个流行的开源消息队列系统,它基于AMQP(Advanced Message Queuing Protocol)协议,用于高效地...
spring3.1官方所有的jar包 org.springframework.aop-3.1.RELEASE.jar org.springframework.asm-3.1.RELEASE.jar org.springframework.aspects-3.1.RELEASE.jar org.springframework.beans-3.1.RELEASE.jar org....
spring4.3.1全套jar下载。 4.3.1/spring-aop-4.3.1.RELEASE.jar 4.3.1/spring-aspects-4.3.1.RELEASE.jar 4.3.1/spring-beans-4.3.1.RELEASE.jar 4.3.1/spring-context-4.3.1.RELEASE.jar 4.3.1/spring-core-4.3.1....
Spring 框架是 Java 开发中的一个核心组件,它为构建企业级应用程序提供了全面的编程和配置模型。Spring 4.3.14 是该框架的最后一个4.x系列正式版,发布于2018年2月24日。这个版本在Spring 5.0发布之前提供了一个...
Spring Cloud和Spring Boot是两个非常重要的Java开发框架,它们在微服务架构中扮演着核心角色。Spring Boot简化了创建独立的、生产级别的基于Spring的应用程序的过程,而Spring Cloud则为开发者提供了快速构建分布式...
手把手教你集成spring cloud + shiro微服务框架;用最少的工作量,改造基于shiro安全框架的微服务项目,实现spring cloud + shiro 框架集成。博客地址:...
总之,这份“传智播客2016spring资料4”是Spring框架学习的重要资源,涵盖了一系列核心概念和技术,对于想深入理解和掌握Spring框架的人来说,是非常宝贵的参考资料。通过学习这些内容,开发者能够提升自己的技能,...
Classes contained in spring-mock.jar: org.springframework.mock.jndi.ExpectedLookupTemplate.class org.springframework.mock.jndi.SimpleNamingContext.class org.springframework.mock.jndi....
"Spring 实战第六版" Spring Framework 是一个广泛使用的 Java 应用程序框架,它提供了一个通用的编程模型和配置机制,帮助开发者快速构建企业级应用程序。下面是对 Spring Framework 的详细知识点总结: 1. 什么...