Sping5 尚硅谷 2020

尚硅谷-Spring5框架2020最新版教程(idea版)
在这里插入图片描述

Spring框架概述

在这里插入图片描述

Spring5入门案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、打开idea工具,创建普通Java工程
在这里插入图片描述
3、导入Spring5相关jar包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IOC

1.IOC(概念和原理)

在这里插入图片描述

在这里插入图片描述
IOC容器本质指的就是工厂
反射:通过得到类的字节码文件(.class),可以操作类中的所有内容

IOC达到的目的:
IOC进一步降低耦合,例如dao中的类路径发生了变化,不需要在servic类和工厂类中修改,只需要需改xml文件中的类路径属相

IOC解耦类相互依赖的过程:解析xml配置文件获取类的路径,利用反射从二进制(.class)文件获取类的信息,再通过neInstance和强转创建类对象
在这里插入图片描述

2.IOC(BeanFactory接口)

在这里插入图片描述

3.IOC操作Bean管理(概念)

IOC操作的的术语是Bean管理

依赖注入是Ioc的具体实现,属相注入的时候不再需要自己去new而是有spring创建好,直接去存放bean的容器中获取(依赖注入)
在这里插入图片描述

在这里插入图片描述
原始的java属相注入方式:set方法注入和构造方法注入

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

IOC操作Bean管理(FactoryBean)

在这里插入图片描述

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

bean作用域的作用域是指:创建bean实例是单实例还是多实例

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

添加后置处理器后bean的生命周期会在初始化前后多两步

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

创建对象注解

Spring 针对 Bean 管理中创建对象提供注解
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5.基于注解方式实现属性注入

在这里插入图片描述

@Autowired 根据属性类型进行自动装配

在这里插入图片描述

@Qualifier:根据名称进行注入

在这里插入图片描述
在这里插入图片描述

@Resource:可以根据类型注入,可以根据名称注入

@Resource是java提供的,所有spring 更推荐使用@Autowired +@Qualifier
在这里插入图片描述

@Value:注入普通类型属性

在这里插入图片描述

6.完全注解开发

在这里插入图片描述
但是实际开发都是通过Springboot实现完全注解开发

AOP

AOP: 实现了在不改变类中原有代码的基础上,来增强类中的方法逻辑

AOP(概念)

在这里插入图片描述
在这里插入图片描述

AOP(底层原理)

AOP 底层使用动态代理实现。

代理: 为需要被增强类对象生产一个代理对象,通过这个代理对象添加需要曾加的功能。

AOP 底层使用动态代理

有两种情况动态代理:

  • 第一种 有接口情况,使用 JDK 动态代理
  • 第二种 没有接口情况,使用 CGLIB 动态代理

有接口情况,使用 JDK 动态代理在这里插入图片描述

没有接口情况,使用 CGLIB 动态代理

在这里插入图片描述

AOP(JDK 动态代理)

Spring已经帮我实现动态代理的实现,我们只需通过配置或注解及可以直接使用。我们这里主要学习一下JDK 动态代理实现方式
1、使用 JDK 动态代理,使用 Proxy 类里面的方法创建代理对象

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

AOP中操作的术语(专业名词)

在这里插入图片描述
在这里插入图片描述

AOP 操作(准备工作)

在这里插入图片描述

AOP 切入点表达式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AOP 操作(AspectJ 注解)

在这里插入图片描述
在这里插入图片描述

配置不同类型的通知

SpringBoot2.x.x 对应的是Spring5
Spring5 AOP的执行顺序

程序执行正常顺序
在这里插入图片描述
程序运行抛出异常:
在这里插入图片描述

在这里插入图片描述

相同的切入点抽取

在这里插入图片描述
在这里插入图片描述

有多个增强类多同一个方法进行增强,设置增强类优先级

使用@Order(1)设置增强类执行的先后顺序 @Order(1)中的值越小优先级越高(0-1)
在这里插入图片描述

JdbcTemplate

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

Spring5 框架新功能

1、整个 Spring5 框架的代码基于 Java8,运行时兼容 JDK9,许多不建议使用的类和方法在代码库中删除

Spring 5.0 框架自带了通用的日志封装

Spring 5.0 框架自带了通用的日志封装但也可以这个和其他日志框架如Log4j2
Spring 5.0不在支持整合Log4j。
在这里插入图片描述
第二步 创建 log4j2.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > 
ALL -->
<!--Configuration 后面的 status 用于设置 log4j2 自身内部的信息输出,可以不设置,
当设置成 trace 时,可以看到 log4j2 内部各种详细输出--> <configuration status="INFO">
 <!--先定义所有的 appender-->
	 <appenders>
 <!--输出日志信息到控制台-->
		 <console name="Console" target="SYSTEM_OUT">
 <!--控制日志输出的格式-->
			 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-
5level %logger{36} - %msg%n"/>
		 </console>
	 </appenders>
 <!--然后定义 logger,只有定义 logger 并引入的 appender,appender 才会生效-->
 <!--root:用于指定项目的根日志,如果没有单独指定 Logger,则会使用 root 作为
默认的日志输出-->
 <loggers>
	 <root level="info">
		 <appender-ref ref="Console"/>
	 </root>
 </loggers>
</configuration>

Spring5 框架核心容器支持@Nullable 注解

在这里插入图片描述

Spring5 支持整合 JUnit5

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值