一.Log4j配置
1.1 src下面创建:log4j.properties
将mybatis-3.4.2.zip中的pdf中Logging中的配置直接拷贝
添加一下对自己代码的日志打印级别,完整代码如下:
# Global logging configuration
log4j.rootLogger=ERROR, stdout
# stdout为输出模式的名字
# MyBatis logging configuration...
log4j.logger.com.zq=DEBUG
# 日志打印的位置:控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# 打印日志的形式、格式
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
测试下:启动项目,访问:
http://localhost:8080/shop/user/list.do
Eclipse的console控制台就可以打印日志了
二.事务配置
2.1 applicationContext.xml将事务改成xml配置的,完整的事务相关代码如下:
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 注册一下事务管理器的驱动 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!– 下面是新加的代码: -->
<!– 通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 传播行为 -->
<tx:method name="create*" />
<tx:method name="delete*" />
<tx:method name="update*" />
</tx:attributes>
</tx:advice>
<!-- 切面 -->
<aop:config>
<aop:advisor advice-ref="txAdvice“ pointcut="execution(* com.zq.service.*.*(..))" />
</aop:config>
测试,create方法:http://localhost:8080/shop/user/create.do
故意让service中间报错,可以看出来事务是否起作用了)
1、applicationContext.xml配置了service包下面的类中create开头的方法都添加了事务机制,运行–结果数据库无数据添加
2、注释掉xml中的create*的配置,看下结果,插入一条数据
3、在service的create方法或者serviceImpl类上加上注解,如下,再运行,发现无数据添加成功
谢谢观看。