持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第29天,点击查看活动详情
引入logback组件和事务的配置
1.pom.xml引入logback
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
2.重新运行测试用例
可以对应的sql运行语句,方便我们排查错误
3.自定义日志输出格式
resources新增logback.xml文件,spring会自动根据名称来载入文件
<?xml version="1.0" encoding="UTF-8" ?>
<configuration >
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 自定义日志输出格式-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 应用 日志最低输出级别-->
<root level="debug">
<!-- 引用console-->
<appender-ref ref="console"/>
</root>
</configuration>
代码说明:
name="console":设置日志输出格式的名字
%d{HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n:时间格式 日志级别输出 线程 日志记录 日志说明
level="debug":日志输出的最低级别
ref="console":引用console
4.重新启动应用
可以看到,日志按照我们设置的格式输出
5.事务的处理
错误展示:假如我们在循环中执行到i==2的时候,程序出现异常
控制台输出
我们看看数据库是否正常写入:产生了两条我们不希望的数据,我们期望要么在这个循环中全部执行成功,要么全部失败,不能存在数据写入一半的情况,这时候就需要引入事务处理
6.查看依赖包是否存在事务依赖包
jdbc引入之后,也就包tx组件也引入进来了
原因:jdbc依赖的引入
7.applicationContext.xml引入配置
配置1:
xmlns:tx="http://www.springframework.org/schema/tx"
配置2:
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
声明式事务配置
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
8.进行测试
引入事务声明
@Transactional
如果产生异常,则会回滚