`
zhoujiangzi
  • 浏览: 93386 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring 事务记录

 
阅读更多

  刚刚测试时遇到一个问题,记录下!

   说下环境:

   采用spring注解的方式来注入service类,该service类并没有实现任何接口,就是一个普通的类,如:

package com.jacksoft.service
@Service
public class MyService{

    @Transactional(readOnly=true)
    public void sayHello(){
         System.out.println("Hello");
    }

}

   然后再Controller里面进行调用sayHello方法,但是就在这里出了问题,直接说我的MyService不能注入到controller中去

我通过debug看log,发现spring在扫描的时候已经扫描到我的MyService类了,但是仍然不能注入,奇怪。

后来通过排除,一行一行的删除代码来进行排除,在删除@Transactional这个注解后,代码可以运行了,后来查看spring的配置文件,原来是事物代理模式默认设置为false了

添加proxy-target-class="true" 即可,这里记录下两者的区别:

 

当设置为true时,那么是基于CGLIB来产生代理,即通过产生子类来代理

当设置为false时,是通过JDK的代理模式,即需要我们提供接口

 

分享到:
评论

相关推荐

    spring事务与数据库操作

    ### Spring事务与数据库操作 #### 一、Spring的声明式事务管理 在现代软件开发中,事务处理是非常关键的一部分,特别是在涉及多个数据操作时。Spring框架提供了强大的事务管理能力,可以方便地集成到应用程序中。...

    实验 spring 声明事务

    实验 "Spring 声明事务" 是 Java 高级编程中的一个重要环节,旨在让学生掌握 Spring 框架中声明式事务管理的配置和使用。在实际应用中,事务管理是确保数据一致性、完整性和可靠性的关键组件。Spring 提供了声明式...

    spring 事务传播与隔离级别DEMO

    本DEMO主要探讨的是Spring事务的传播行为和隔离级别,这些概念对于理解和优化数据库操作至关重要。让我们深入理解这些概念及其实际应用。 首先,我们来谈谈事务的传播行为。在Spring中,当一个方法被另一个具有事务...

    Spring事务与Java事务比较

    AOP 的核心是 aspect,它封装了特定的关注点,比如日志记录、安全性检查或事务管理,并允许在运行时把这些关注点与业务逻辑相织入。 Spring 框架中的事务管理分为两种主要方式:编程式事务管理和声明式事务管理。 ...

    Spring事务例子

    通过运行这些例子,你将对Spring事务管理有更深入的理解,知道何时选择编程式还是声明式事务,以及如何有效地处理事务异常。 总之,Spring的事务管理是其强大功能的一部分,无论是编程式还是声明式,都能帮助开发者...

    aop与spring事务处理

    ### AOP与Spring事务处理详解 #### 一、引言:为什么使用框架和设计模式? 在软件开发领域,设计模式和框架是两个重要的概念。设计模式作为一种指导思想,能够帮助开发者更好地解决常见的软件设计问题,确保系统...

    Spring自定义切面事务问题

    在开发基于Spring框架的应用程序时,我们经常需要利用AOP(面向切面编程)来实现横切关注点(如日志记录、安全控制、事务管理等)的模块化处理。其中,事务管理是保证数据一致性的重要手段之一。然而,在实际开发...

    Spring aop、jdbc和事务tx练习

    本练习主要涵盖了Spring的三个方面:面向切面编程(AOP)、JDBC(Java Database Connectivity)以及事务管理(TX)。让我们详细探讨这些知识点。 1. **Spring AOP(面向切面编程)** 面向切面编程是Spring框架的一...

    深入理解spring的事务管理机制

    Spring事务管理的核心是基于AOP(面向切面编程)来实现的。 **Spring事务的本质**实际上是依赖于底层数据库提供的事务支持。如果没有数据库层面的支持,Spring无法单独实现事务的功能。在传统的JDBC操作中,如果想...

    Spring事务管理A方法内部调用B方法的回滚问题测试代码

    在Spring框架中,事务管理是核心特性之一,用于确保数据操作的一致性和完整性。当一个方法(A方法)内部调用另一个方法(B方法)时,可能会遇到事务控制...这个示例代码对于理解和调试Spring事务管理的问题非常有帮助。

    Spring 事务代理配置

    在深入探讨Spring事务代理配置之前,我们先简要回顾一下Spring框架的核心概念。Spring是一个开源的Java平台,它提供了一套全面的编程和配置模型,主要用于简化企业级应用的开发。其中,依赖注入(Dependency ...

    Spring 框架的事务管理及应用

    AOP是一种编程范式,它可以将横切关注点(如日志记录、安全控制和事务管理)从业务逻辑中分离出来。借助Spring AOP,开发者可以通过声明式的方式使用企业级服务,比如安全性服务、事务服务等。 - **AOP的优势**: ...

    Spring事务传播属性

    Spring事务传播属性是这一机制的关键组成部分,它定义了在一个事务方法被另一个事务方法调用时,应该如何处理事务的边界。在深入理解Spring事务传播属性之前,我们首先需要了解Spring中的事务管理模型,包括编程式...

    mybatis 拦截器 + spring aop切面 + spring事务+ 反射工具类

    例如,可能会有一个自定义的MyBatis拦截器用于分页查询,一个Spring AOP切面用于记录操作日志,Spring事务管理确保数据的一致性,而反射工具类可能用于动态加载配置或处理某些通用的反射任务。通过这些组件的组合,...

    spring注解事务实现demo

    这通常用于提高性能,因为只读事务不需要记录回滚信息。不过,这并不意味着在只读事务中不能执行更新操作,只是提示Spring可以优化事务处理。 6. **异常回滚规则** 默认情况下,如果在`@Transactional`方法中抛出...

    Spring_tx事务

    本篇文章将深入探讨Spring事务管理的基础知识、工作原理以及如何在实际项目中应用。 首先,事务是数据库操作的基本单位,它确保了一组操作要么全部成功,要么全部失败,从而保证了数据的完整性和一致性。在Spring中...

    Spring事务介绍,分23类进行梳理

    Spring事务介绍,分23类进行梳理 Spring事务是指在Spring框架中对事务的支持和管理。事务是指一系列的操作,作为一个单元一起执行,如果其中任何一个操作失败,整个事务将被回滚。在Spring中,事务可以分为23类,...

    jdbc+spring+mysql事务理解和分析

    在示例代码中,`saveSignInfo`方法中,第一条记录插入成功,第二条记录失败,由于没有显式开启事务,因此默认情况下不会自动回滚,可能会导致数据不一致。为了实现原子性,需要在Service层中开启和提交事务。 2. **...

    Java框架技术 Spring 学习案例 Spring AOP案例和Spring事务处理案例

    本教程主要聚焦于Spring框架的两大核心特性:Spring AOP(面向切面编程)和Spring事务处理,通过具体的应用案例来深入理解这两个概念。 首先,让我们详细探讨Spring AOP。AOP是面向切面编程的缩写,它允许程序员...

Global site tag (gtag.js) - Google Analytics