IOC,bean,依赖注入,spring-jdbc

https://share.mubu.com/doc/38MeC8y07WC

一 : spring简介

(一) 概述

  1. Spring是一个轻量级的解决方案, 可以一站式的构建企业级应用
  2. Spring是模块级的, 允许你使用那些你需要的, 丢弃你所不需要的
  3. 你可以使用IOC容器, 同时可以在UI层使用任意的web框架, 同时可以使用任意的DAO层框架
  4. Spring支持声明式事务管理, 提供了远程访问计数, 持久化数据的多种操作
  5. Spring提供了一个充满特色的mvc框架(springmvc)
  6. Spring可以在软件中使用aop(面向切面编程)
    (二) 名词解释
    轻量级和重量级 : 系统对于环境的依赖程度
    一站式 : 类比小米之家(生态圈)
    声明式 : 显示的标注需要声明的地方
    (三) 体系结构
    在这里插入图片描述
    Spring-jdbc : spring对jdbc 的支持
    Spring-orm : spring对orm的支持
    Spring-oxm : spring对oxm的支持
    Spring-tx : spring对事务的支持
    Spring-web : spring对web的支持
    Spring-aop : spring对aop的支持
    Spring-aspects : spring对切面的支持
    Spring-test : spring对单元测试的支持

Spring-core : spring的核心类库
Spring-beans : spring对于bean的管理
Spring-context : spring的上下文(周边)
Spring-expression : spring对于表达式的支持

二 : IOC

(一) 简介
IOC : inversion of control, 控制反转
DI : dependency injection, 依赖注入

  1. IOC也被称为是DI, 这是一个定义配合一起工作的依赖对象的进程
  2. 通过构造器参数, 工厂方法参数, 对象实例化后设置属性来实现
  3. IOC容器在创建对象的时候注入依赖
  4. 这个过程是反向的, 一次被称为控制反转
    总结: IOC是控制反转, 简单来说, 就是将创建对象的权利交给spring, 达到充分的解耦合的目的
    Person person = new Person();

(二) 入门案例

  1. 添加依赖
    在这里插入图片描述
  2. 编写目标类
    在这里插入图片描述
  3. 编写配置文件applicationContext.xml, 托管person
    在这里插入图片描述
  4. 从容器中获取对象
    在这里插入图片描述
    (三) 实现原理
    在这里插入图片描述
    (四) 核心API
    BeanFactory : spring的心脏, 供框架内部调用, 需要的时候才去实例化
    ApplicationContext : spring的躯体, 供使用者调用, 容器启动直接实例化

三 : bean

(一) 实例化

  1. 无参构造器
    在这里插入图片描述
  2. 静态工厂
    在这里插入图片描述
    在这里插入图片描述
  3. 实例化工厂
    在这里插入图片描述
    在这里插入图片描述
    (二) 生命周期和作用范围
    singleton : 默认值, 每个spring容器中只有一个对应的实例, 单例模式
    Prototype : 每次获取的是不同的实例, 多例模式
    request : bean的生命周期和request保持一致
    session : bean的生命周期和session保持一致
    application : bean的生命周期和ServletContext保持一致
    websocket : bean的生命周期和WebSocket保持一致

Websocket是对tcp的封装

Udp : 广播, 效率, 效率高
Tcp : 录播, 相对安全, 有回应, 效率相对较差

(三) 两个特殊方法
在这里插入图片描述
在这里插入图片描述

四 : 依赖注入

DI : dependency injection, 依赖注入

(一) IOC和DI的区别与联系
在这里插入图片描述
站在person的角度car是属性, car的注入就是DI
站在car的角度, car的创建是IOC

(二) 注入方式

  1. 构造器注入
    在这里插入图片描述
    在这里插入图片描述
  2. Set注入
    在这里插入图片描述
    在这里插入图片描述
  3. Array注入
    在这里插入图片描述
    在这里插入图片描述
  4. List注入
    在这里插入图片描述
    在这里插入图片描述
  5. Set注入
    在这里插入图片描述
    在这里插入图片描述
  6. Map注入
    在这里插入图片描述
    在这里插入图片描述
  7. Properties注入
    在这里插入图片描述
    在这里插入图片描述
  8. 对象属性的注入
    在这里插入图片描述
    在这里插入图片描述

五 : 配置文件模块化

(一) 一次加载多个配置文件
在这里插入图片描述
(二) 主配置文件加载从配置文件
在这里插入图片描述
在这里插入图片描述
(三) 注意事项

  1. 同一个xml配置文件中不允许出现id相同的
  2. 不同xml配置文件中有id相同的, 会发生覆盖

的id不允许相同

六 : spring-jdbc

(一) Who does what 在这里插入图片描述
(二) 入门案例

  1. 添加依赖
    在这里插入图片描述
  2. 编写实体类
    在这里插入图片描述
  3. 编写dao
    在这里插入图片描述
  4. 编写配置文件
    在这里插入图片描述
  5. 增删改查
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值