SSM
一、内容
主流开发技术
1、spring formwork 底层框架
2、spring boot 简化开发 加速开发
3、spring cloud 分布式开发
二、发展史
由ibm的ejb思想演变过来的
roodjson 提出 2004 没有ejb
sping1.0 2004问世
spring 2 2006引入注解
spring 3 2009已经可以不写配置
spring 4 api变化
spring 5 全面支持jdk8 8以上
1、spring formwork
(1)演变过程:若干版本演变 spring4趋于稳定
(2)主要概念:core container 核心容器 用来装对象
aop 面向切面编程 编程思想 设计性概念
aspects aop思想的实现 其中已经包括aop
data access 数据访问
data integration 数据集成 包容其他
transations 事务 效率高的 事务控制方案
web 开发
test 测试 单元测试 集中测试
顺序: 核心容器--> 整合 mybatis -->aop -->事务
三、概念引入:
1、bean
代码书写现状
耦合度偏高 高内聚 低耦合
解决方案
1、不需要主动使用new对象 外部提供
ioc (inversion of control)控制反转
对象的创建控制权转到外部
即! 对象创建权的转移
2、spring框架中 ioc容器 用来充当外部
3、ioc容器负责对象的创建、初始化等工作,被创建和管理的对象在ioc容器为Bean
4、若两个bean 之间存在依赖关系 的过程
称为 依赖注入
5、目标: 充分解耦
6、最终效果
对象不仅可以直接从ioc中获取 而且已经有了依赖关系
2、ioc管
service 和 dao
(1)如何告知
配置文件
(2)如何得到ioc容器
接口
(3)如何获取bean
接口的方法 函数
(4)导入哪些坐标
pom.xml
四、入门案例中的步骤
1、导入坐标
2、定义spring管理的接口
创建接口方法
创建私有对象 然后重写接口
3、创建配置文件
bean id属性 class
4、初始化ioc容器
先加载上下文对象 也就是容器对象
通过容器获取bean 调用getbean方法
调用函数
五、DI
由于ioc依然存在new
所以提供方法
service和dao 的关系
配置
5、删除业务层中new的dao对象
6、提供对应的set对象
7、配置service和dao的关系
bean
name表示配置谁的属性
property代表配置当前bean的属性
ref代表参照哪一个bean
bean
bean的别名
name 逗号 分号 空格 都可
作用范围
scope singleton 单例
多例
spring 本身就是为了 提高复用性
提高效率
bean 的new 单例是怎么造出来的
方式一
使用构造方法的方式完成
无论是公有的还是私有的 都可以构造函数
调用的是无参的构造方法
方式二
静态工厂
为了兼容早期的配置
方式三 实例工厂
上面的单独的bean
方式四 factory bean
bean的生命周期
bean从创建到销毁的过程
在bean中绑定初始化和销毁函数
然后进行调用
直接进行close 暴力进行关闭
但是将其放在前面 就不会暴力 但是他后面的程序会抛出异常
关闭钩子
先注册关闭钩子
在虚拟机关闭之前 先将容器关闭了
按照spring接口的方式进行控制
在属性设置之后
init
set
service int
save
service distory
distory
依赖注入方式
setter注入
构造器注入



