目录
1 spring 整合 JDBC
1.1 spring提供了很多模板整合 Dao 技术
1.2 JDBCTemplate
spring 中提供了一个可以操作数据库的对象,对象封装了jdbc技术。
1, JDBCTemplate => JDBC模板对象
2, 与 DBUtils 中的 QueryRunner 非常相似
1.3 步骤
1,导包
- com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar
- com.springsource.org.apache.commons.logging-1.1.1.jar
- com.springsource.org.apache.log4j-1.2.15.jar
- mysql-connector-java-5.1.7-bin.jar
- spring-aop-4.2.4.RELEASE.jar
- spring-beans-4.2.4.RELEASE.jar
- spring-context-4.2.4.RELEASE.jar
- spring-core-4.2.4.RELEASE.jar
- spring-expression-4.2.4.RELEASE.jar
- spring-jdbc-4.2.4.RELEASE.jar
- spring-test-4.2.4.RELEASE.jar
- spring-tx-4.2.4.RELEASE.jar
2, 准备数据库
创建名为 t_user 的数据库,包含 id int类型 和 name varchar类型 两个字段
3, 书写Dao
增删改
查询单个对象
查询值类型
查询list集合类型
4,spring 配置
依赖关系
applicationContext.xml 中的信息书写
5,测试
1.4 进阶内容
1,jdbcDaoSupport 原理图
测试代码书写
applicationContext.xml 配置信息
2, 读取外部的 properties 配置
properties 配置信息 注意加前缀,这样不容易跟其他配置文件名称重复。
applicationContext.xml 中配置读取配置文件
读取配置文件具体信息
2 spring 中的 AOP 事务
2.1 事务
下面这篇博客有一些介绍,如果对事务有些忘记,可以参考一下,我没有仔细查看博客内容,看了开头一部分,不过已经够了┭┮﹏┭┮
java事务 深入Java事务的原理与应用
https://blog.youkuaiyun.com/sinat_33536912/article/details/51200630
2.2 spring 封装了事务管理代码
2.2.1 事务操作
- 打开事务
- 提交事务
- 回滚事务
2.2.2 事务操作对象
因为在不同平台,操作事务的代码各不相同.spring提供了一个接口
1, PlatformTransactionManager 接口
- DataSourceTransactionManager
- HibernateTransitionmanager
- 注意:在spring中玩事务管理.最为核心的对象就是TransactionManager对象
2,spring管理事务的属性介绍
- 事务的隔离级别
1 读未提交
2 读已提交
4 可重复读
8 串行化
- 是否只读
true 只读
false 可操作
- 事务的传播行为
2.3 spring 管理事务方式
2.3.1 编码式
1,将核心事务管理器配置到spring容器
2,配置TransactionTemplate模板
3,将事务模板注入Service
4,在Service中调用模板
2.3.2 xml 配置(aop)
1,导包
- com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar
- com.springsource.org.aopalliance-1.0.0.jar
- com.springsource.org.apache.commons.logging-1.1.1.jar
- com.springsource.org.apache.log4j-1.2.15.jar
- com.springsource.org.aspectj.tools-1.6.6.RELEASE.jar
- mysql-connector-java-5.1.7-bin.jar
- spring-aop-4.2.4.RELEASE.jar
- spring-aspects-4.2.4.RELEASE.jar
- spring-beans-4.2.4.RELEASE.jar
- spring-context-4.2.4.RELEASE.jar
- spring-core-4.2.4.RELEASE.jar
- spring-expression-4.2.4.RELEASE.jar
- spring-jdbc-4.2.4.RELEASE.jar
- spring-test-4.2.4.RELEASE.jar
- spring-tx-4.2.4.RELEASE.jar
2,导入新的约束
- beans: 最基本
- context:读取properties配置
- aop:配置aop
- tx:配置事务通知
3,配置通知
4,配置将通知织入目标
2.3.3 注解配置(aop)
1,导包
- com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar
- com.springsource.org.aopalliance-1.0.0.jar
- com.springsource.org.apache.commons.logging-1.1.1.jar
- com.springsource.org.apache.log4j-1.2.15.jar
- com.springsource.org.aspectj.tools-1.6.6.RELEASE.jar
- mysql-connector-java-5.1.7-bin.jar
- spring-aop-4.2.4.RELEASE.jar
- spring-aspects-4.2.4.RELEASE.jar
- spring-beans-4.2.4.RELEASE.jar
- spring-context-4.2.4.RELEASE.jar
- spring-core-4.2.4.RELEASE.jar
- spring-expression-4.2.4.RELEASE.jar
- spring-jdbc-4.2.4.RELEASE.jar
- spring-test-4.2.4.RELEASE.jar
- spring-tx-4.2.4.RELEASE.jar
2,导入新的约束
- beans: 最基本
- context:读取properties配置
- aop:配置aop
- tx:配置事务通知
3,开启注解管理事务
4,使用注解
测试类主要代码
最后总结,springAop的大致原理: