Spring的深入理解

  1. Spring相关概念
    1.1. Spring是开源的轻量级框架
    1.2. Spring是一站式框架,
    1.2.1. Spring在Javaee三层结构中,每一层提供不同的解决技术。
    -web层:springMVC
    -service层:spring的ioc
    -dao层:spring的jdbcTemplate.
    1.3. Spring核心主要两部分:
    1.3.1. Aop:面向切面编程,扩展功能不是修改原地阿玛实现。
    1.3.2. Ioc:控制反转,
    -假如需要调用类中不是静态的方法,需要new一个对象后调用。
    -spring不需要new方式实现,直接spring配置创建类对象。
    1.4. spring版本
    1.4.1. hibernate5.x
    1.4.2. spring4.x.
  2. spring的ioc操作
    2.1. 把对象的创建交给spring进行管理
    2.2. Ioc操作两部分:
    2.2.1. Ioc的配置文件方式
    2.2.2. Ioc的注解方式
  3. Ioc底层原理
    3.1. Ioc底层原理使用技术
    3.1.1. Xml配置文件
    3.1.2. Dom4j解决xml
    3.1.3. 工厂设计模式
    3.1.4. 反射
    3.2. 画图分析ioc实现原理
    在这里插入图片描述
    在这里插入图片描述
  4. Ioc的入门案例
    4.1. 导入jar包
    4.1.1. 解压资料zip文件
    -jar特点:都有三个jar包
    在这里插入图片描述
    4.1.2. 做spring最基本功能时,导入四个核心的jar包
    4.1.3. 导入日志功能的jar包。
    4.2. 创建一个类,在类中创建方法
    4.3. 创建spring配置,配置创建类
    4.3.1. Spring核心配置文件名称和位置不是固定的
    -建议放到src下面,官方建议applicationContext.xml
    4.3.2. 引入schema约束
    4.3.3. 配置对象创建
    在这里插入图片描述
    4.3.4. 写代码测试对象创建(这段代码只在测试中使用)
    4.4. 写代码测试对象创建
  5. 配置文件没有提示
    5.1. Spring引入schema约束,把约束文件引入到ecplise中
    5.1.1. 复制约束路径
    http://www.springframework.org/schema/beans/spring-beans.xsd"
    在这里插入图片描述
  6. Spring的bean管理(xml方式)
    6.1. Bean实例化的方式
    6.1.1. 正在spring中通过配置文件创建对象
    6.1.2. Bean实例化三种方式实现
    6.1.2.1. 使用类的无参数构造创建(重点)
    在这里插入图片描述
    6.1.2.2. 使用静态工厂创建
    6.1.2.2.1. 创建静态方法,返回类对象
    在这里插入图片描述
    在这里插入图片描述
    6.1.2.3. 所使用实例工厂创建
    在这里插入图片描述
    6.2. Bean标签中常用的属性
    6.2.1. Id属性:起名称,id属性值名称任意命名
    -id属性值,不能包含特殊字符
    -根据id只得到配置对象
    6.2.2. Class属性:创建的对象所在类的全路径
    6.2.3. Name属性:功能和地属性一样,id属性值不能包含特殊符号,name属性值可以包含一些特殊符号。
    6.2.4. Scope属性:
    -singleleton:默认值,单例
    -prototype:多例
    -request:创建对象把对象放到request域中
    -session: 创建对象把对象放到session域中
    -globaSession: 创建对象把对象放到globasession域中(单点登陆)
    6.3. 属性注入
    6.3.1. 创建对象时,向类中属性里面设置值
    6.3.2. 属性注入的方式介绍(三种方式)
    6.3.2.1. set方式注入
    6.3.2.2. 有参数构造
    6.3.2.3. 接口注入
    在这里插入图片描述
    6.3.3. 在spring框架中,只支持前两种方式
    6.3.3.1.set方法注入(重点)
    6.3.3.2. 有参构造注入
    6.4.使用有参构造注入方式
    在这里插入图片描述
    在这里插入图片描述
    6.5.使用set方法注入属性(重点)
    在这里插入图片描述
    在这里插入图片描述
    6.6. 注入对象类型属性(重点)
    6.6.1. 创建service类和dao类
    6.6.1.1.在service得到dao对象
    6.6.2. 具体实现过程
    6.6.2.1. 在service中把dao作为类型属性
    6.6.2.2. 生成dao的set方法
    在这里插入图片描述
    6.6…2.3.在配置文件中注入关系
    在这里插入图片描述
    6.7. P名称空间注入
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    6.8.注入复杂类型属性
    6.8.1. 数组
    6…8.2. list集合
    6.8.3. map集合
    6.8.4. properties类型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    6.9. ioc和DI的区别
    6.9.1. ioc: 控制反转,把对象创建交给spring进行配置
    6.9.2. DI: 依赖注入,向类中的属性设置值。
    6.9.3.关系:依赖注入不能单独存在,需要在ioc基础之上完成操作。
    6.10. spring整合web项目原理
    6.10.1. 加载spring核心配置文件
    在这里插入图片描述
    6.10.1.1.new对象,功能可以实现,效率很低
    6.10.2. 实现思想:把加载配置文件和创建对象过程,在服务器启动时完成。
    6.10.3.实现原理:
    6.10.3.1.ServletContext对象
    6.10.3.2. 监听器
    6.10.3.3.具体使用
    -在服务器启动时,为每个项目创建一个ServletContext的对象
    -在创建ServeltContext对象时,使用监听器可以具体到servletContext对象什么时候创建。
    -使用监听器听到ServletContext对象创建时
    -加载spring配置文件,把配置文件配置对象创建
    -把创建出来的对象放到Servletcontext域对象里面(SetAttribute)
    -获取对象时,到ServletContext域得到(getAttribute方法)
    -
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值