Spring框架


一、Spring框架是什么?

1.Spring 的核心是控制反转(IoC)和面向切面编程(AOP),Spring 是可以在 Java SE/EE 中使用的轻量级开源框架。
2.Spring全家桶:spring , springmvc ,spring boot , spring cloud 等
3.Spring体系结构
在这里插入图片描述
4.Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、提供JVM的代理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(Test)

二、IOC控制反转

1.Spring的第一个程序

1.创建好maven项目(创建步骤可以参照MyBatis) 2.引入依赖到pom.xml文件中。ps:插件可加可不加

在这里插入图片描述

3.定义接口与实体类

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

4.定义测试类

在这里插入图片描述

5.0 以上是自己创建对象,那么将对象的创建等工作交给容器,下面该怎么做呢

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

在这里插入图片描述

5.1 创建容器对象

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

5.2 容器完成对象的创建工作完毕,下面介绍获取容器中对象的相关信息

在这里插入图片描述

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

注意:ApplicationContext 容器中对象的装配时机

在这里插入图片描述

5.3 创建非定义类的对象

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

注意:spring创建对象,默认调用无参构造方法

2.基于XML的DI

如何给对象的属性赋值。有两种方法:基于XML的DI,基于注解的DI

在这里插入图片描述

1.简单类型(set注入)

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

注意:重点来了

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

2.引用类型(set注入)

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

注意:单元测试junit

在这里插入图片描述

3.简单类型和引用类型(构造注入) 理解即可,不要求掌握,具体的可以看教材文档

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

index属性

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

构造注入创建文件对象

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

4.引用类型属性自动注入 byName:根据名称自动注入

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

byType:根据类型自动注入

在这里插入图片描述

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

注意:关于多配置文件

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

3.基于注解的DI

基于注解的DI方法用的较多

在这里插入图片描述

 1.@Component:创建对象
 2.@Repository:创建dao对象,用来访问数据库
 3.@Service:创建Service对象,处理业务逻辑的
 4.@Controller:创建控制器对象,接受请求,显示处理结果的
 5.@Value:简单类型的属性赋值
 6.@Autowired:引用类型赋值,支持byName,byType,默认byType
 7.@Resource:jdk中的注解,使用自动注入给引用类型赋值,支持byName,byType,默认byName
1.@Component

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

2.@Respotory 3.@Service 4.@Controller

在这里插入图片描述

5.@Value

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

6.@Autowired

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

7.@Resource

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


三、AOP面向切面编程

1.动态代理(了解)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果仅仅在doSome中增加日志和提交事务的需求,而doOther不需要,那该如何处理呢?
在这里插入图片描述

2.AOP简介

AOP说白了就是动态代理的规范化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. AspectJ对AOP的实现

AspectJ的切入点表达式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用aspectj实现aop

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

新建maven项目并添加依赖
在这里插入图片描述

创建目标类:接口和它的实现方法
在这里插入图片描述
在这里插入图片描述
创建切面类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建spring的配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建测试类
在这里插入图片描述
在这里插入图片描述
@Before前置通知-方法有JoinPoint参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
@AfterReturning后置通知-注解有returning属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
@Around环绕通知-增强方法ProceedingJoinPoint参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
@AfterThrowing异常通知-注解中有throwing属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
@After最终通知
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
@Pointcut 定义切入点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、Spring集成MyBatis

1.Spring 集成 MyBatis介绍

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

2. MyBatis与 Spring 进行整合

创建数据库(用原来的)

假装这里有图片

创建maven项目并引入依赖和插件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建实体类和对应的dao接口以及mapper文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
定义service接口和实现类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定义Mybatis主配置文件和Spring主配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建test类
在这里插入图片描述
在这里插入图片描述
用service去实现方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.总结

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


五、Spring事务

1.事务介绍

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

2.事务程序举例

新建数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
项目实现
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.使用 Spring 的事务注解管理事务

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

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

在这里插入图片描述

在这里插入图片描述

4.使用 AspectJ 的 AOP 配置管理事务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是在大型项目中,不可能就一个方法引入事务,如果有几十个方法引入事务,在这么去写很冗余,下面给出了解决方法
在这里插入图片描述
在这里插入图片描述
以上的例子中只说明了哪些类应该使用事务,却没有说是哪个包下面的类。如果引入事务的类不在同一个包中,又该怎么办呢?
在这里插入图片描述


六、Spring与Web

1.创建一个 springWeb 项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复制之前ch02,(添加貂蝉的那个项目)的java文件下和resources文件下的代码复制到新项目中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.使用Spring的器监听器 ContextLoaderListener

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


总结

提示:这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了spring框架的使用,下面会讲解spring MVC内容

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值