`
joygarden
  • 浏览: 26458 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

spring中resource注入注意问题

阅读更多
在控制层用resource注入service 而service中用了@Transaction注解时
报 Bean named 'xxxService' must be of type [com.xxx.xxxService], but was actually of type [$Proxy6]错误 解决如下:
1.应注入service的接口而非实现类
2.设置proxy-target-class="true" <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>加入cglib包


引用

在spring中@Transaction是通过AOP实现的,而spring对AOP有两种实现方式,一种是动态代理,它是通过接口方式实现的,要求所代理的类一定是实现了某一个接口,对一般的类就无法代理,spring默认是这种;通过设置proxy-target-class="true",则是使用CGLIB实现AOP,CGLIB直接生成二进制码,使得普通类也可以实现AOP。在没有设置proxy-target-class="true"时,使用动态代理,是一个临时生成的类,如proxy17,它不是@Resource指定的类,因此出现了上述错误。
分享到:
评论
1 楼 wudehui-q 2012-10-11  
解决问题了

相关推荐

    详解Spring关于@Resource注入为null解决办法

    Spring 框架中,@Resource 注解是一种常用的依赖注入方式,用于将对象注入到应用程序中。但是,在实际开发中,经常会遇到 @Resource 注解的对象为 null 的问题。本文将详细介绍 Spring 中 @Resource 注解解决 null ...

    Spring三种注入方式(三)

    除了以上三种方式,Spring还提供了基于注解的元数据注入,如`@Resource`、`@Qualifier`等,以及XML配置文件中的`&lt;bean&gt;`标签等方式进行依赖注入。在实际开发中,可以根据需求选择合适的方式,通常推荐使用构造器注入...

    关于spring boot中几种注入方法的一些个人看法

    在 Spring 2.5 引入了 @Autowired 注释,我们平常直接引用的时候很少注意这些,只是自己写好了一个方法或者 springboot 自动配置好的一个方法我们要在另一个类中去调用,这个时候,我们就会采用该注释。 2. @...

    (转)Spring中@Autowired注解和@Resource注解的区别

    在Spring框架中,`@Autowired`和`@Resource`注解是两个常见的依赖注入(DI, Dependency Injection)工具,它们都是用来解决组件之间的耦合问题,使得代码更加灵活和可测试。然而,这两个注解在具体使用时有一些关键性...

    spring中Resource和Component注解

    在Spring框架中,`@Resource`和`@Component`是两个非常重要的注解,它们用于不同的目的,但都与依赖注入(Dependency Injection, DI)息息相关。这篇文章将深入探讨这两个注解,以及它们如何在Spring应用中协同工作...

    Spring注解注入属性

    在Spring早期版本中,依赖注入主要通过XML配置文件实现,即在配置文件中明确指定哪些bean之间存在依赖关系,然后由Spring容器负责在运行时创建并装配这些bean。 然而,随着Java注解的普及,Spring也引入了基于注解...

    spring使用resource注解的demo

    在Spring框架中,`@Resource`注解是一个重要的组件注入工具,主要用于管理bean之间的依赖关系。这个注解来源于JSR 250规范,被Spring框架所支持并扩展。在这个"spring使用resource注解的demo"中,我们将深入探讨如何...

    Spring Ioc 注解 依赖注入

    Spring框架是由Rod Johnson创建的一个开源项目,最初是为了解决企业级应用开发中的复杂性问题而诞生的。Spring框架的核心特性包括IoC(Inversion of Control,控制反转)、AOP(Aspect Oriented Programming,面向切...

    Spring依赖注入检查.

    本文将深入探讨Spring依赖注入的概念、工作原理以及如何在实际项目中应用。 依赖注入(Dependency Injection,简称DI)是一种设计模式,它允许组件之间通过外部源来管理其依赖关系,而不是由组件自己来创建或查找...

    (转)Spring 3.0 注解注入详解

    在Spring 3.0中,注解注入还支持了构造器注入,通过在构造函数参数上使用`@Autowired`,Spring会在实例化bean时调用相应的构造函数并注入对应的依赖。 为了更深入地学习Spring 3.0的注解注入,你可以阅读提供的文档...

    Spring注释 注入方式源码示例,Annotation

    凡带有@Component,@Controller,@Service,@Repository 标志的等于告诉Spring这类将自动产生对象,而@Resource则等于XML配置中的ref,告诉spring此处需要注入对象,所以用@Resource就有了ref的功效。 要用注解注入方式...

    4Spring自动装配——annotation resource方式

    在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入(Dependency Injection,DI)配置的方式,它允许Spring容器自动管理Bean之间的依赖关系。本文将深入探讨如何通过注解(Annotation)和`@Resource`来实现...

    1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。.pdf

    Spring框架是Java领域中实现DI的典型代表,提供了多种注解来支持这一机制,其中两个常用的注解是`@Resource`和`@Autowired`。虽然它们都可以用来实现依赖注入,但它们的用法和原理有所不同。 首先,`@Resource`注解...

    spring注解注入示例详解.pdf

    Spring框架是Java企业级开发中非常重要的一个框架,它通过依赖注入(DI)的方式极大地简化了企业级应用的开发。Spring提供了多种注解来帮助开发者实现依赖注入,其中包括@Autowired、@Qualifier、@Resource以及@...

    spring依赖注入的实现原理

    Spring依赖注入(Dependency Injection,简称DI)是Java应用开发中的一个重要概念,它是Spring框架的核心特性之一,用于降低组件之间的耦合度,提高代码的可测试性和可维护性。本篇文章将深入探讨Spring依赖注入的...

    Spring依赖注入——java项目中使用spring注解方式进行注入.rar

    2. 注解注入:在需要注入依赖的类中,使用`@Autowired`、`@Qualifier`、`@Resource`或`@Inject`等注解标记字段或方法。 3. 配置扫描:在Spring配置文件中,使用`&lt;context:component-scan&gt;`标签指定需要扫描的包,使...

    Spring学习笔记(6)----编码剖析Spring依赖注入的原理

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它极大地提高了代码的可测试性和可维护性。本篇学习笔记将深入剖析Spring依赖注入的原理,通过源码分析帮助我们理解这一核心机制。...

    SPRING DI注入例子

    Spring框架的Dependency Injection(DI,依赖注入)是其核心特性之一,它允许开发者在运行时通过容器来管理对象及其依赖关系,而不是硬编码这些依赖。这样可以提高代码的可测试性和可维护性,降低了组件之间的耦合度...

    第三章 Spring4 依赖注入

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种核心的设计模式,它允许我们创建松耦合的代码,提高软件的可测试性和可维护性。Spring4版本进一步优化了这一特性,使其更加灵活和强大。本篇文章将...

    spring注入原理

    在Spring中,我们通常使用`@Autowired`、`@Qualifier`、`@Resource`等注解来进行依赖注入。 - `@Autowired`:这个注解用于自动装配依赖,Spring会根据类型或名称匹配bean并注入。如果存在多个相同类型的bean,可以...

Global site tag (gtag.js) - Google Analytics