3.1 配置mysql驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
3.2 配置数据源
具体配置参数后面补充application.properties添加如下基本配置:
spring.datasource.url=jdbc:mysql://127.0.0.1/databasename
spring.datasource.username=uname
spring.datasource.password=123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.autoCommit=false
3.3 pom.xml添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--springBoot 的aop-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
3.4 事务管理
以*Service结尾的java类以update、add、del等开头的方法上面增加控制事务的提交与回滚,配置如下:
import java.util.Collections; import org.aspectj.lang.annotation.Aspect; import org.springframework.aop.Advisor; import org.springframework.aop.aspectj.AspectJExpressionPointcut; import org.springframework.aop.support.DefaultPointcutAdvisor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.interceptor.DefaultTransactionAttribute; import org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource; import org.springframework.transaction.interceptor.RollbackRuleAttribute; import org.springframework.transaction.interceptor.RuleBasedTransactionAttribute; import org.springframework.transaction.interceptor.TransactionInterceptor; @Aspect @Configuration public class TransactionAdviceConfig { private static final String AOP_POINTCUT_EXPRESSION = "execution(* bai.*..*Service.*(..)) || execution(* bai.*..*.*Service.*(..))"; @Autowired private PlatformTransactionManager transactionManager; @Bean public TransactionInterceptor txAdvice() { RuleBasedTransactionAttribute txAttr_REQUIRED =new RuleBasedTransactionAttribute(); txAttr_REQUIRED.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); txAttr_REQUIRED.setRollbackRules(Collections.singletonList(new RollbackRuleAttribute(Exception.class)) ); DefaultTransactionAttribute txAttr_REQUIRED_READONLY = new DefaultTransactionAttribute(); txAttr_REQUIRED_READONLY.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); txAttr_REQUIRED_READONLY.setReadOnly(true); NameMatchTransactionAttributeSource source = new NameMatchTransactionAttributeSource(); source.addTransactionalMethod("save*", txAttr_REQUIRED); source.addTransactionalMethod("del*", txAttr_REQUIRED); source.addTransactionalMethod("update*", txAttr_REQUIRED); source.addTransactionalMethod("exec*", txAttr_REQUIRED); source.addTransactionalMethod("set*", txAttr_REQUIRED); source.addTransactionalMethod("get*", txAttr_REQUIRED); source.addTransactionalMethod("remove*", txAttr_REQUIRED); source.addTransactionalMethod("save*", txAttr_REQUIRED); source.addTransactionalMethod("add*", txAttr_REQUIRED); source.addTransactionalMethod("create*", txAttr_REQUIRED); source.addTransactionalMethod("noTrans*", txAttr_REQUIRED); //read only source.addTransactionalMethod("query*", txAttr_REQUIRED_READONLY); source.addTransactionalMethod("find*", txAttr_REQUIRED_READONLY); source.addTransactionalMethod("list*", txAttr_REQUIRED_READONLY); source.addTransactionalMethod("count*", txAttr_REQUIRED_READONLY); source.addTransactionalMethod("is*", txAttr_REQUIRED_READONLY); return new TransactionInterceptor(transactionManager, source); } @Bean public Advisor txAdviceAdvisor() { AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut(); pointcut.setExpression(AOP_POINTCUT_EXPRESSION); return new DefaultPointcutAdvisor(pointcut, txAdvice()); } }
相关推荐
实际项目中,可能还需要根据具体需求进行调整,例如引入其他框架(如Hibernate或iBatis)替换MyBatis,或者使用Spring Boot来简化配置和启动流程。 总之,SSM整合是Java Web开发中常见的技术栈,熟练掌握这三者的...
Spring Boot 是一个由 Pivotal 团队创建的 Java 框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它提供了一种“开箱即用”的体验,集成了大量的常用库,如数据访问、安全、WebSocket 等,让开发者能够快速...
Spring框架作为Java领域最流行的开源框架之一,以其强大的功能和灵活的设计赢得了广大开发者的心。Spring IO是Spring框架的一部分,主要关注于简化开发、提高可测试性和促进良好的编程实践。本文将从Spring的核心...
Spring Boot JDBC 连接数据库是开发Java Web应用时常见的任务,它允许我们直接与数据库进行交互,执行SQL语句,并处理结果。在本示例中,我们将深入探讨如何使用Spring Boot与MySQL数据库建立连接,以及如何使用JDBC...
2. **配置pom.xml**:在Maven项目中添加SSH框架及数据库驱动的依赖。 3. **配置struts2**:编写struts.xml配置文件,定义Action、结果类型、拦截器等。 4. **配置spring**:创建spring的配置文件(如...
5. **Spring MVC**:Spring的模型-视图-控制器(MVC)框架,用于构建Web应用程序。它提供了处理HTTP请求、模型绑定、数据验证和视图渲染等功能,使得Web开发更加高效。 6. **Spring Boot**:为简化Spring应用的初始...
首先,我们需要在Spring Boot项目中添加MyBatis和Oracle数据库驱动的依赖。在你的`pom.xml`文件中,你需要引入以下两个依赖: ```xml <groupId>org.mybatis.spring.boot <artifactId>mybatis-spring-boot-...
本篇文章将详细探讨如何在Spring Boot框架中集成并初始化Camunda流程引擎。 **Spring Boot集成Camunda** Spring Boot以其“开箱即用”的特性,简化了Java应用的开发过程。集成Camunda到Spring Boot项目中,可以...
-- 数据库驱动,这里以 MySQL 为例 --> <groupId>mysql <artifactId>mysql-connector-java ``` 接着,创建 MyBatis 的配置文件 `mybatis-config.xml`,用于配置 MyBatis 的全局属性,比如日志、类型处理器等...
Spring Boot以其简化配置、快速启动的优势,极大地提高了开发效率,而MyBatis作为轻量级的持久层框架,使得数据库操作更加灵活方便。本篇将详细介绍如何在Spring Boot项目中集成MySQL数据库和MyBatis框架,以及如何...
传统的SSM(Spring、Struts2、Mybatis)框架组合在Java Web开发中曾广泛使用,但随着技术的发展,SpringBoot逐渐成为首选,因为它简化了项目配置,提高了开发效率。本项目旨在将原有的基于SSM的教务管理系统迁移到...
在IT行业中,Spring Boot和MyBatis是两个非常流行的开源框架,它们的结合使得开发Java Web应用程序变得更加便捷高效。Spring Boot简化了Spring框架的配置,提供了快速启动的应用程序开发方式,而MyBatis则是一个轻量...
SSH是三个开源框架Struts、Spring和Hibernate的缩写,它们分别是用于Web应用的MVC框架、依赖注入和面向切面编程框架以及对象关系映射框架。这篇文章主要介绍了如何在MyEclipse 6.5环境下进行SSH框架的整合实验。 ...
1. 引入依赖:在项目构建工具(如Maven或Gradle)的配置文件中添加SSM框架及数据库驱动的依赖。 2. 配置Spring:定义bean的实例化和依赖关系,配置数据源和事务管理器。 3. 配置SpringMVC:设置URL映射规则,定义...
在Struts2与Spring整合时,Spring可以作为容器来管理和注入Action类,这样我们可以在不修改Action代码的情况下,轻松地替换或扩展服务实现。同时,Spring也可以管理Hibernate SessionFactory,实现数据访问层的事务...
- 在Spring配置文件中通过`<bean>`标签定义DataSource,配置JDBC连接参数,并指定具体的数据库驱动类。 **问题十:Spring里面applicationContext.xml文件能不能改成其他文件名?** - 可以,只要在启动类中通过`@...
在IT行业中,SSH(Struts2、Spring、Hibernate)是一个常用的Java Web开发框架组合,它为开发者提供了构建高效、可扩展的企业级应用的能力。本文将详细介绍如何创建一个SSH项目,包括环境搭建、配置以及基本的项目...
在本文中,我们将深入探讨如何在Spring Boot 2框架中使用JDBC和MyBatis实现数据的简单增删改查操作。Spring Boot以其简洁的配置和快速开发特性,已经成为Java领域中非常流行的微服务框架。而MyBatis作为一款优秀的...
-JavaServer Faces(JSF)是一个基于组件的Web开发框架,提供了一种模型-视图-控制器(MVC)架构,使得组件驱动开发(Component-based Development)变得可能。 8. **数据库索引与约束**: -索引是数据库中用于...
1. Java框架:Spring Boot、Spring MVC、MyBatis,理解IoC/DI原理,AOP的使用,事务管理,以及Spring Cloud微服务架构。 2. 前端框架:React、Vue、Angular,组件化开发,虚拟DOM,状态管理(Redux、Vuex)等。 3....