Spring 自学笔记终
前言
Spring全家桶:spring,springmvc,spring boot,spring cloud.
spring : 出现时间2002年左右,解决企业开发难度。
作用:减轻对项目模块之间的管理,类和类之间的管理,帮助开发人员创建对象,管理对象之间的关系。
核心技术:ioc,aop。能实现模块之间,类之间的解耦合。
spring是一个容器负责管理系统中的重要对象
spring容器负责协调对象之间的关系
spring管理的对象无须依赖容器
spring 官网:https://spring.io
spring 优点
- 轻量
- 针对接口编程,解耦合
- aop 编程的支持
- 方便集成各种优秀框架
spring-conetxt 和 spring-webmvc是spring中的两个模块
spring-context:是ioc功能的,创建对象的。
spring-webmvc做web开发使用的, 是servlet的升级。
spring-webmvc中也会用到spring-context中创建对象的功能的。
目录
8 Druid 连接池
使用 JDBC 模板,首先需要配置好数据源,数据源直接以 Bean 的形式配置在 Spring 配
置文件中。根据数据源的不同,其配置方式不同:
Druid 数据源 DruidDataSource
Druid 是阿里的开源数据库连接池。是 Java 语言中最好的数据库连接池。Druid 能
够提供强大的监控和扩展功能。Druid 与其他数据库连接池的最大区别是提供数据库的
官网:https://github.com/alibaba/druid
使用地址:https://github.com/alibaba/druid/wiki/常见问题
8.1 配置文件
在项目中,我们一般将数据库配置信息放在一个独立的文件当中,这样便于修改,创建jdbc.properties 里面添加数据池连接属性,这里驱动不需要,因为阿里这个连接池会根据你的url自动匹配驱动名。
这里我用的是Oracle 轻量级,url用你们原本自己的。接着就去applicationContext.xml配置使spring知道你配置文件的路径
8.2 配置 得到sessionFactory
<!-- 配置sessionFactory-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource"></property>
9 Spring 事务处理
9.1 什么是事务
讲mysql的时候,提出了事务。 事务是指一组sql语句的集合, 集合中有多条sql语句
可能是insert , update ,select ,delete, 我们希望这些多个sql语句都能成功,
或者都失败, 这些sql语句的执行是一致的,作为一个整体执行。
- 在什么时候想到使用事务
当我的操作,涉及得到多个表,或者是多个sql语句的insert,update,delete。需要保证
这些语句都是成功才能完成我的功能,或者都失败,保证操作是符合要求的。
- 在java代码中写程序,控制事务,此时事务应该放在那里呢?
service类的业务方法上,因为业务方法会调用多个dao方法,执行多个sql语句
- 通常使用JDBC访问数据库, 还是mybatis访问数据库怎么处理事务
jdbc访问数据库,处理事务 Connection conn ; conn.commit(); conn.rollback();
mybatis访问数据库,处理事务, SqlSession.commit(); SqlSession.rollback();
hibernate访问数据库,处理事务, Session.commit(); Session.rollback();
- 3问题中事务的处理方式,有什么不足
1)不同的数据库访问技术,处理事务的对象,方法不同,
需要了解不同数据库访问技术使用事务的原理
2)掌握多种数据库中事务的处理逻辑。什么时候提交事务,什么时候回顾事务
3)处理事务的多种方法。
- 总结: 就是多种数据库的访问技术,有不同的事务处理的机制,对象,方法。
9.2 处理事务
需要怎么做,做什么
spring处理事务的模型,使用的步骤都是固定的。把事务使用的信息提供给spring就可以了
1)事务内部提交,回滚事务,使用的事务管理器对象,代替你完成commit,rollback
事务管理器是一个接口和他的众多实现类。
接口:PlatformTransactionManager ,定义了事务重要方法 commit &