查缺补漏-Spring

本章是整理知识内容,为强化知识长期更新。

Spring Ioc

1.描述下依赖注入。

  • 平常的Java开发中,程序员在某个类中需要依赖其它类的方法。通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理。 Spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过Spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是”控制反转”。通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员。而控制反转是指new实例工作不由我们程序员来做而是交给Spring容器来做。
  • IOC对于Spring框架来说,就是由Spring来负责控制对象的生命周期和对象间的关系。
  • 所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中,所以,以来注入DI 和控制反转IOC 是从不同的角度描述的同一间事情,就是值通过引用IOC容器,利用以来关系注入的方式,实现对象之间的解耦。

2. 注入的几种方式?

  • Set注入。
  • 构造方法注入。
  • 工厂的方法注入。
1
2


Spring AOP

  • AOP专门用于处理系统中分布于各个模块中交叉关注点的问题,在JavaEE应用中,常常通过AOP来处理一些横切性质的系统级服务,如事物管理、安全检查、缓存对象池管理。
    • 1.)切面 -Aspect 切面类 比如日志类
    • 2.) 连接点 - Join Point 加入切点的那个点
    • 3.)通知 -Advice 是在切面某个特定的连接点上的动作。
    • 4.)切入点 - Point Cut 匹配连接点的断点
    • 5.)引入 - Introduction
    • 6.)目标对象 - Target Object 被一个或多个通知对象,永远被代理的对象。
    • 7.) AOP代理 - AOP Proxy AOP创建的对象用来实现切面对象。
    • 8.)织入 - Weaving
    • 9.)AOP通俗的理解:
      • 一个组建A,不关心其他常用的服务组件B,但是这个组件A使用组件B的时候不是组建A自身去调用,而是通过配置等其他方式,比如Spring中可以通过XML配置文件。这样就使的A压根不需要知道服务组件B是怎么样的,A只关心自己的业务逻辑,具体A使用B的时候,配置文件去做,与具体的A组件无关。