Spring 学习笔记 记录学习片段~(尚硅谷)

Spring 框架描述

1 Spring 是轻量级、开源的JavaEE框架
2 Spring 可以解决企业应用开发的复杂性
3 Spring 有两个核心部分:IOC和Aop
4 Spring特点:

(1)方便解耦,简化开发
(2)Aop编程支持
(3)方便程序测试
(4)方便和其他框架进行整合
(5)方便进行事务操作
(6)降低API开发难度

什么是IOC

(1) 控制反转,把对象创建和对象之间的调用过程交给Spring进行管理
(2)使用IOC目的:降低耦合度

IOC底层原理

(1)xml解析、工厂模式、反射
IOC(接口)
(1) IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
(2)Spring提供IOC容器实现两种方式:(两个接口)
1 BeanFactory: IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用
* 加载配置文件时候不会创建对象,在获取对象时候才去创建对象
2 ApplicationContext:BeanFactory的子接口,提供更多更强大的功能,一般由开发人员使用
* 加载配置文件时候就会把在配置文件对象进行创建

什么是Bean管理

(1)Bean管理指的是两个操作
1 Spring创建对象
2 Spring注入属性

Bean管理操作有两种方式

(1)基于xml配置文件方式实现
(2) 基于注解方式实现

IOC操作Bean管理(FactoryBean)

(1) Spring 有两种类型bean,一种普通bean,另外一种工厂bean(FactoryBean)
(2) 普通bean:在配置文件中定义bean类型就是返回类型
(3) 工厂bean :在配置文件中定义bean类型可以和返回类型不一样
第一步 创建类,让这个类作为工厂bean,实现接口FactoryBean
第二步 实现接口里面的方法,在实现的方法中定义返回的bean类型

IOC操作Bean管理(bean作用域)

1 在Spring里面,设置创建bean实列是单列还是多实列
2 在Spring配置文件bean标签里面有属性(Scope)用于设置单实例还是多实例
第一个值 默认值 singleton 表示是单实例对象
第二个值 prototype 表示是多实例对象
(1) singleton和prototype区别
第一 singleton单实例,prototype多实例
第二 设置scope 值是singleton时候,加载配置文件时候就会创建单实例对象
设置scope 值是prototype时候,不是在加载Spring配置文件时候创建对象,在调用getBean方法时候创建多实例对象

IOC操作Bean管理(bean生命周期)

(1) 通过构造器创建bean实列
(2) 为bean的属性设置值和对其他bean引用(调用set方法)
(3) 调用bean的初始化方法(需要进行配置初始化的方法)
(4) 使用bean(获取到对象)
(5) 当容器关闭时候,调用bean的销毁的方法(需要进行配置销毁的方法)

IOC 操作Bean管理(xml自动装配)

1 什么是自动装配?
(1)根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入

IOC 操作Bean管理(概念)

1 什么是Bean管理?
(1)Bean管理指的是两个操作
(2)Spring创建对象
(3)Spring注入属性
2 Bean管理操作有两种方式
(1)基于xml配置文件方式实现
(2)基于注解的方式实现

IOC操作Bean管理(基于注解方式)

1 什么是注解?
(1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值)
(2)使用注解,注解作用在类上面,方法上面,属性上面
(3)使用注解目的:简化xml配置

2 Spring 针对Bean管理中创建对象提供注解
(1)@Component
(2)@Service
(3)@Controller
(4)@Repository

AOP(概念)

1 什么是AOP
(1)面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得
业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
(1)简单描述:不通过修改源代码方式,在主干功能里面添加新功能

AOP(底层原理)

1 AOP底层使用动态代理
(1)有两种情况
第一种 有接口情况,使用JDK动态代理
第二种 没有接口情况,使用CGLIB动态代理

AOP(术语)

1 连接点
(1)类里面哪些方法可以背增强,称为切入点
2 切入点
(2)实际被真正增强的方法,称为切入点
3 通知(增强)
(1)实际增强的逻辑部分称为通知(增强)
(2)通知有多种类型
*前置通知
*后置通知
*环绕通知
*异常通知
*最终通知
4 切面
切面是动作
(1)把通知应用到切入点过程

AOP(AspectJ)

1 Spring框架一般都是基于AspectJ实现AOP操作
(1)什么是AspectJ
*AspectJ不是Spring组成部分,独立AOP框架,一般把AspectJ和Spring框架一起使用,进行AOP操作
2 基于AspectJ实现AOP操作
(1)基于AspectJ实现AOP操作
(2)基于注解方式实现

JdbcTemplate(概念)

1 什么是JdbcTemplate
(1)Spring框架对Jdbc进行封装,使用JdbcTemplate方便实现对数据库操作

事务概念

1 什么是事务
(1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败
2 事务四大特性(ACID)
(1)原子性
(2)隔离性
(3)持久性
(4)一致性

事务操作

1 事务添加到JavaEE三层结构里面 Service层
2 在Spring进行事务管理操作
(1)有两种方式:编程式事务管理和声明式事务管理
3 声明式事务管理
(1)基于注解方式
(2)基于xml配置文件方式
4 在Spring进行声明式事务管理,底层使用AOP框架
三个读问题:
(1)脏读:一个未提交事务读取到另一个未提交事务的数据
(2)欢读:一个未提交事务读取到另一个提交事务添加数据
(3)不可重复读:一个未提交事务读取到另一个提交事务修改数据

解决读问题:通过事务的隔离级别,处理读问题

资料来源于在尚硅谷学习过程中记录的部分笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值