01,Spring - 概述

1、传统javaweb开发困惑及解决方案

1.1,传统业务代码

在这里插入图片描述

1.2,存在的问题

1.2.1,问题一

在这里插入图片描述

1.2.2,问题二

在这里插入图片描述

2,Spring的理解

我们经常听见Spring框架,但什么是Spring框架呢,网上查了查,说的都很晦涩,如何更好的理解它呢,我列出来一下我的认知和看法,说的不对理解不对的还请指导!

2.1、Spring是什么?怎么抽象简单的理解Spring?

Spring是一个开源框架(就是一个容器,Spring模块都是在核心容器之上构建的),实现了工厂模式的工厂类,这个类名为BeanFactory(接口),在程序中通常用他的子类ApplicationContext。

2.2、Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

2.2.1,Spring的IOC模块

IOC(控制反转)就是在有了工厂模式后,当需要某个类的对象时,就不再需要new指定的类,而是调用工厂中的方法即可。也就不需要关心对象的创建过程。甚至有时候也许你需要的对象只要是某种大分类的类型就可以了,而不必是某个指定的类型。不会过渡依赖某个类,这些类都是易于被替换的,以提高整个项目的可维护性。
    DI(依赖注入)也是IOC的重要实现。一个对象的创建往往会涉及到其他对象的创建,这就是依赖。IOC机制既然负责了对象的创建,那么这个依赖关系也就必须由IOC容器负责起来负责的方式就是DI——依赖注入,通过将依赖关系写入配置文件,然后在创建有依赖关系的对象时,由IOC容器注入依赖的对象。如在创建A时,检查到有依赖关系,IOC容器就把A依赖的对象B创建后注入到A中(组装,通过反射机制实现),然后把A返回给对象请求者,完成工作。

2.2.2,Spring的AOP模块

AOP(面向切面编程)就是系统中有很多各不相干的类的方法,在这些众多方法中要加入某种系统功能的代码,如加入日志,权限判断,异常处理,这种应用称为AOP。
    实现AOP功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明。
    有两种方式可以实现相同的方法声明,一是实现相同的接口,二是作为目标的子类。在JDK中采用Proxy类,产生动态代理的方式为某个接口生成实现类,如果要为某个类生成子类,则采用CGLIB。系统功能的代理以Advice对象进行提供,要创建出代理对象,至少需要目标类和Advice类。Spring提供了这种支持,只需要在Spring配置文件中配置这两个元素即可实现代理和AOP功能。

2.3,spring的诞生

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值