Spring的理解3

1.引入spring框架相关依赖
2.引入spring框架配置文件
3.通过spring管理组件
4.启动工厂,获取对象进行测试

Spring是一个工厂一个项目管理框架(主要负责项目中组件对象的创建,使用和销毁)

在这里插入图片描述
项目管理就是对组件进行创建,使用和销毁。

在这里插入图片描述entity组件我们一般不交给spring来管理

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        
</beans>

这个依赖就集合了Spring的所有依赖

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.10.RELEASE</version>
        </dependency>
    </dependencies>

在这里插入图片描述在这里插入图片描述接下来就是测试Spring能不能帮我们创建对象了

实现类是容器帮我们创建的对象。

接下来就是启动工厂(或者叫容器)让它帮我们创建对象

工厂一启动,一读到这个配置文件,它就会根据我们指定的类去创建组件对象。并且给工厂中创建出来的对象起了一个唯一的标识(这里指的就是id)

然后我们就可以获取工厂中创建好的对象了。

在这里插入图片描述如果对象没有创建出来调用方法就会出现空指针

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述这两个对象的创建我们从来就没有使用过new关键字,我们都是通过参数,或者是servletActionContext.getRequest的方式直接拿到了一个实例。(你之所以拿到了这个实例一定是有人帮助我们创建了这个实例)。这个人就是tomcat容器。

控制反转是大部分容器都有的。

所以Spring又引入了DI

在这里插入图片描述在这里插入图片描述
日后我们的业务层组件一定需要调用我们的dao组件,我们在工厂管理的情况下如何完成组件的调用呢?

如果我们要在Dept的service中去调用我们的dao,那我们需要在service里面先拿到DeptDao这个组件对象

我们需要Dao组件可以理解为我们依赖Dao组件

在这里插入图片描述
依赖注入(你需要谁就先把它声明为成员变量,第二步就是要为成员变量赋值(为成员变量赋值的过程我们就称为注入),)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
一个property只能完成一个属性的赋值name用来指定给组件中的哪个属性名赋值。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述ref找的是工厂中的对象,我们现在要的是一个字符串。这里我们是通过value属性完成赋值操作。
在这里插入图片描述在这里插入图片描述
框架的报错我们从下往上看

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

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述properties集合是无序的

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

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自动注入只能注入对象,所有必须有两个层,类似Dao层注入业务层的使用。

给声明了变量,设置了set方法的进行自动注入(byname(变量名和工厂的id值对应))

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

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接口具有屏蔽底层实现的作用

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

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

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

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

classLoader是用来读取.class文件的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
invoke说明的就是我们这里用到了反射

在这里插入图片描述在这里插入图片描述
切入点就是用来确定什么时候生成动态代理对象。

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

在这里插入图片描述

aop的代码实现

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
切入到这个实现类里面了

在这里插入图片描述

spring-aop(提供了spring给我们扩展的各种各样的通知(前置通知,后置通知,环绕通知,异常通知))

在这里插入图片描述

在这里插入图片描述在这里插入图片描述事务通知就是一个典型的环绕通知

在这里插入图片描述环绕通知它不属于项目的任何一层,所以我们要新建一个包叫advices专门来保存我们项目中的附加操作。

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
如果发送异常就进入不了后置了
在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值