SSM框架
1 什么是SSM框架?
spring + springmvc + mybatis
2 Spring容器
2.1 这里有两个概念:spring 和springmvc。web前端的基本框架
那么这两个概念有什么区别?
spring 是IoC 和AOP的容器框架
springmvc 是一种Web 框架
2.2 spring 主要功能是控制反转(IoC)和依赖注入(DI)。
控制反转是将控制权交给容器,由容器决定动态注入。调用类依赖于接口,而不依赖具体的实现类,实现了解耦合。
依赖注入是一种设计模式,是作为控制反转的一种实现模式(还有其他实现方式)。依赖注入就是将实例变量传入到调用类的对象中去。
2.3 工厂模式:不关心接口是如何实现的,就可以创建该接口的实例对象。
工厂模式的简单理解:通过接口实现解耦。通过耦合实现调用。
工厂模式的耦合:通过接口调用方法。接口是死的,对其方法的调用是死的。
工厂模式的解耦:调用哪一个目标实现类、怎样调用方法(对目标对象方法的实现)。
>>简化代码
要知道,工厂的目的之一就是创建目标对象(耦合)。而工厂的实现类的作用就是创建不同的目标接口的实现类的实例
这个模式是固定的,那么我们可以让程序针对不同的目标接口的实现类
自动创建相应的工厂实现。(比较低级的做法可以是:在相应的目标接口的实现类中创建其对应工厂实现类对象的匿名内部类。)
2.4 代理模式:通过代理可以实现对工厂实现类的统一管理
工厂模式无法对一系列工厂实现类进行统一的管理。代理模式可以解决这个问题。
工厂对象接口的实现类–实现了工厂对象的接口。
代理–实现了工厂对象接口。并提供了工厂接口注入。
工厂生产方法 – 提供了工厂实例的注入接口。
那么,可以这样:
工厂对象接口的实现类们注入到代理类中,代理类注入到工厂生产方法中。
其中,代理实现了工厂对象接口。那么它是怎样实现的?
其实,代理相当于一个平台,它提供了工厂接口的注入。它虽然实现了工厂接口,但它不自己调用其中的方法,而是通过注入的工厂接口的实现类去调用其中的方法。