1.spring介绍

spring并不局限于某一层.
spring是对象的容器,帮我们"管理"项目中的所有对象

2.spring搭建

1.导包(idea直接新建Spring项目,一般的都有,除了依赖)
2.准备类
3.书写配置(src/applicationContext.xml)

4.书写代码测试

3.spring中的概念

ioc: 反转控制. 创建对象的方式反转了.从我们自己创建对象,反转给spring(程序)来创建.
di: 依赖注入.将必须的属性注入到对象当中.是实现ioc思想必须条件.
applicationContext&BeanFactory

BeanFactory接口    spring原始接口.针对原始接口的实现类功能较为单一    BeanFactory接口实现类的容器.特点是每次在获得对象时才会创建对象ApplicationContext        每次容器启动时就会创建容器中配置的所有对象.并提供更多功能        丛类路径下加载配置文件:ClassPathXmlApplicationContext        从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext("d:/xxx/yyy/xxx")结论:web开发中,使用applicationContext. 在资源匮乏的环境可以使用BeanFactory.

4.配置文件详解

bean元素

Bean元素进阶

scope属性    singleton(默认值):单例对象.被标识为单例的对象在spring容器中只会存在一个实例    prototype:多例原型.被标识为多例的对象,每次再获得才会创建.每次创建都是新的对象.整合struts2时,ActionBean必须配置为多例的.            request:web环境下.对象与request生命周期一致.            session:web环境下,对象与session生命周期一致.        生命周期属性            配置一个方法作为生命周期初始化方法.spring会在对象创建之后立即调用.                init-method            配置一个方法作为生命周期的销毁方法.spring容器在关闭并销毁所有容器中的对象之前调用.                destory-method             

spring创建对象的方式
1.空参构造方式

2.静态工厂(了解)
分模块开发
<import />

5.spring属性注入

注入方式
set方法

构造方法

p名称空间

spEL表达式

复杂属性注入
Array

List

Map

Properties

6.注解代替xml配置

步骤
导包
1.添加约束
2.开启使用注解代理配置文件

3.在类中使用注解完成配置
将对象注册到容器

指定对象的作用范围

值类型注入
1.直接赋值
通过反射的Field赋值,破坏了封装性

2.set方法赋值(推荐)

引用类型注入

自动

手动

初始化|销毁方法

7.spring与junit整合测试

1.导包
2.配置注解

3.测试

8.spring中的aop

aop思想介绍

spring中的aop概念

spring实现aop的原理
动态代理(优先)

被代理对象必须要实现接口,才能产生代理对象.如果没有接口将不能使用动态代理技术

cglib代理(没有接口)

第三方代理技术,cglib代理.可以对任何类生成代理.代理的原理是对目标对象进行继承代理. 如果目标对象被final修饰.那么该类无法被cglib代理.

aop名词学习

9.spring中的aop演示

步骤(xml配置)
1.导包
2.准备目标对象

3.准备通知

4.配置进行织入,将通知织入目标对象中

步骤(注解配置)
导包

2.准备目标对象

3.准备通知

        4.配置进行织入,将通知织入目标对象中

10.spring整合JDBC

spring提供了很多模板整合Dao技术

spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术

JDBCTemplate => JDBC模板对象与DBUtils中的QueryRunner非常相似 

步骤

导包

准备数据库

书写Dao

增删改     

查询单个对象

查询值类型

查询list集合类型  

spring配置
依赖关系

进阶内容
JDBCDaoSupport

读取外部的Properties配置


注意前缀

11.spring中aop事务

事务
事务特性:acid
事务并发问题

脏读不可重复读幻读

事务的隔离级别

1 读未提交2 读已提交3 可重复读4 串行化

spring封装了事务管理代码
事务操作

打开事务提交事务回滚事务

事务操作对象

因为在不同平台,操作事务的代码各不相同.spring提供了一个接口PlatformTransactionManager 接口    DataSourceTransactionManager    HibernateTransitionmanager    注意:在spring中玩事务管理.最为核心的对象就是TransactionManager对象

spring管理事务的属性介绍

事务的隔离级别    1 读未提交    2 读已提交    3 可重复读    4 串行化是否只读    true 只读    false 可操作事务的传播行为 

spring管理事务方式
编码式

1.将核心事务管理器配置到spring容器     

    2.配置TransactionTemplate模板        

3.将事务模板注入Service

4.在Service中调用模板

xml配置(aop)

1.导包2.导入新的约束(tx)3.配置通知

        4.配置将通知织入对象

注解配置(aop)

1.导包2.导入新的约束(tx)3.开启注解管理事务

4.使用注解


若方法中需要的不同