Spring 有 IOC和AOP两种思想
IOC:概念 在网上看了一堆文章 都是一些说的比较官方 有点难理解
看下面这个图 :
是不是类很多
看的有点头疼 原生的Servlet就是这样的 项目小的话还可以 但是如果多了呢?
在IOC之前写 Servlet 是不是每个功能都需要new同一类很多次呢 每一次实现一个功能 都需要new一下 有可能不止一次 那么这些对象每一次都是一个新的对象 对内存的占用想想是不是有点浪费了。然后 后期想再原有的基础上加一个功能 每一个类都需要去修改一下 。很费力。而Java是高内聚 低耦合的设计理念
这个时候 IOC(容器)可以叫工厂 将对象私有类 配置在XML中 调用的时候申请一下就行了 这一点就是依赖注入 。
请看一下的图:
这个时候看图是不是有点清晰了呢,把类都放在一个容器里 ,需要用谁申请一下 ,让谁转动 就行了 。不想在之前一样每一次都要new了, 相当于在容器了就new了 但是这里呢 ! 是一次调用 多次使用 每一次使用的都是同一个对象 ,而不是像之前, 每一次调用是重新创建一个对象了 。这样就降低了耦合度了。
控制反转 :第一个图,在new B类之前呢 需要先创建一下A类才可以用B类
主要在:代码催生代码 用几次创建几次 多例对象
而注入到容器呢用谁写谁 创建一次 调用多次, 单例对象 这样是不是主动权就在你手里呢
图是截别人的~~~~~~~