`
zhangdaiscott
  • 浏览: 429245 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8fb25857-16b4-3681-ab5e-e319f45c42a8
Jeecg快速开发平台
浏览量:0
文章分类
社区版块
存档分类

Spring中的@Transactional 放在 类级别 和 方法级别 上有什么不同?

阅读更多

Spring中的@Transactional 放在类级别 和 方法级别 上有什么不同?

@Transactional放在类级别上是否等同于该类的每个方法都放上了@Transactional?

是的
一般类上这么写

//默认将类中的所有函数纳入事务管理.
@Transactional(readOnly=true) //配置事务 查询使用只读
public Demo{
       //方法的写法 (增删改要写 ReadOnly=false 为可写)
       @Transactiona(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT,readOnly=false)
        public void saveUser(){
       }

}
Propagation.REQUIRED :有事务就处于当前事务中,没事务就创建一个事务
isolation=Isolation.DEFAULT:事务数据库的默认隔离级别
readOnly=false:可写 针对 增删改操作

注意:方法的@Transactional会覆盖类上面声明的事务

分享到:
评论

相关推荐

    什么情况会导致@Transactional事务失效?

    2. **非方法级别使用**:`@Transactional`只能作用于方法上,如果将其放在类或字段上,将不会有任何效果。只有在方法调用时,Spring AOP才能识别并处理事务。 3. **静态方法**:由于静态方法不属于任何实例,Spring...

    spring 注解事务管理

    在Spring框架中,注解事务管理是一种非常便捷的方式,它允许开发者通过在方法上添加特定的注解来声明式地管理事务。这种方式极大地简化了事务的配置,使得代码更加清晰和易于维护。以下是对"spring注解事务管理"这一...

    Spring 事务简单完整例子

    这个注解可以放在类级别或方法级别,以定义事务的范围。 对于JDBC事务,Spring提供了一种统一的事务管理接口`PlatformTransactionManager`,它抽象了底层数据源的事务管理细节。常见的实现有`...

    Spring2.5_注解介绍(3.0通用)

    - `@RequestMapping`:用于映射HTTP请求到处理方法,可以放在类级别或方法级别,实现URL到方法的映射。 - `@RequestParam`:从HTTP请求参数中获取值,注入到方法参数中。 - `@ModelAttribute`:用于模型绑定,常...

    spring 事务例子

    这个注解可以放在类级别或方法级别,用于指定哪些方法应该在事务内执行。注解的参数可以用来进一步定制事务行为,例如设置传播行为(如REQUIRED, REQUIRES_NEW等)和隔离级别。 5. **事务的传播行为** 传播行为...

    spring2.5基于注解例子程序

    Spring 2.5引入了自动扫描功能,通过`@ComponentScan`注解,Spring容器可以自动发现并注册带有特定注解的类,无需在XML中显式声明。这极大地方便了项目的构建和维护。 3. **基于注解的事务管理**: `@...

    java事务 - 使用注解

    - **位置**:`@Transactional`通常放在类级别或者方法级别,用于定义事务边界。类级别的注解表示类中所有公共方法都包含在同一个事务中,而方法级别的注解则只对被注解的方法生效。 - **属性**:注解有多个属性,如`...

    spring学习

    这个注解可以放在类级别或方法级别,指定事务的隔离级别、传播行为、超时时间等属性。当带有@Transactional注解的方法被调用时,Spring会自动开启并管理事务。同样,异常处理机制会决定事务是否回滚。 HSone文件...

    spring事务管理.rar

    这个注解可以放在类级别或方法级别,用于定义事务的传播行为、隔离级别、读写模式和超时设置。例如: ```java @Transactional(isolation = Isolation.REPEATABLE_READ, propagation = Propagation.REQUIRED) public...

    Spring2.5_JPA_Transaction_Demo

    在JPA中,事务边界可以由@Transactional注解来定义,该注解可以放在类或方法级别。当一个方法标记为@Transactional,那么所有在该方法内的数据库操作都将被包含在一个事务中。 6. **异常处理与事务回滚**:如果在...

    spring注解

    Spring框架是Java开发中不可或缺的一部分,它通过提供一套丰富的注解极大地简化了应用程序的配置和管理。Spring注解使得开发者可以摆脱XML配置文件,转向更加直观、简洁的编程模型。以下将详细介绍Spring框架中的...

    spring和mybatis整合 jar包

    在Java Web开发中,Spring和MyBatis是两个非常重要的框架。Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、事务管理等功能;而MyBatis则是一个轻量级的持久层框架,它将SQL与Java代码分离,...

    spring mvc注解方式

    它可以放在类级别或方法级别,类级别的`@RequestMapping`用于指定控制器处理的URL前缀,而方法级别的`@RequestMapping`则定义了具体的请求路径。例如: ```java @RestController @RequestMapping("/api") public...

    Spring AOP管理Hibernate事务(TransactionInSpringAOP)

    2. **@Transactional** 注解:这是声明式事务管理的关键,可以放在类或者方法上,指定事务的传播行为、隔离级别、超时时间以及是否为只读事务。 3. **AOP代理**:Spring会创建一个代理对象来包围业务逻辑,当方法...

    spring-boot-starter-mybatis-spring-boot-2.2.0.tar.gz

    - 尽可能避免在Mapper接口方法中直接使用`@Transactional`,而是将其放在Service层,以保持接口的简洁性。 - 使用MyBatis提供的动态SQL功能,避免硬编码SQL,提高代码的可维护性。 - 对于大量读取操作,考虑使用...

    spring webmvc tx等源码四

    `@Transactional`注解是声明式事务管理的关键,它可以放在方法级别或类级别,指示该方法或类应该在事务中执行。Spring通过AOP(面向切面编程)来实现事务的自动管理。`TransactionInterceptor`拦截器会在事务边界...

    09-1Spring整合MyBatis.rar

    4. **使用Spring的注解进行事务管理**:Spring提供了@Transactional注解,可以在方法级别声明事务,使得事务管理更加方便。 5. **配置Mapper接口**:在Spring中,我们通常会使用`@Autowired`注解将Mapper接口注入到...

    Spring整合Hibernate示例完整代码

    9. **缓存机制**:Spring和Hibernate支持多种缓存策略,如一级缓存(SessionFactory级别的缓存)和二级缓存(例如,使用Ehcache)。合理使用缓存可以显著提升应用性能。 10. **性能优化**:整合Spring和Hibernate后...

    30. Spring事务模板及afterCommit存在的坑_V20240225.pdf

    相比于简单的`@Transactional`注解,使用事务模板方法能够提供更加灵活和精细的事务控制手段,有助于解决诸如长事务、事务传播行为复杂等问题。同时,合理运用`afterCommit`机制,可以有效规避高并发环境下可能出现...

Global site tag (gtag.js) - Google Analytics