你的位置:首页 > Java教程

[Java教程]Spring简单回顾


1.IOC和DI

IOC和DI是Spring核心思想不同方面的描述,IOC和DI是差不多的概念,重要特征是接口依赖,是把对象关系推迟到运行时去确定

1.1控制反转(Inversion of Control):

  控制反转是一个重要的面向以对象编程的法则来削减计算机程序的耦合问题,也是轻量级Spring框架的核心,beans。

  IOC控制反转:创建对象实例控制权从代码中剥离到IOC容器控制,就是在

  对于面向接口编程的应用IOC的做法:对象A依赖接口C,接口C由B来实现,也就是说对象A并不能直接控制B,而是由实现接口C的B去处理,

  这样一来也就是控制反转过来了,是由B来决定的,而不是A。

1.2DI依赖注入(Dependency Injection):

  创建对象实例时,为这个对象注入属性值或其他对象实例,侧重实现。

  它是一个初始化实例的过程,分为三种:1.setter based 2.constructor based 3.interface based,在Spring中就是应用前两种

  但不仅仅是初始化实例,而是用接口的概念去实现依赖注入。静态的看,是依赖一个接口但实际运行起来是依赖接口的实现类。

2.AOP

aop(Aspact Oriented Programming)

  我们构建系统的目的是解决业务问题,却要维护如此繁多且复杂的多个方面的事情,增加了开发、扩展和维护的难度。这些方面又都是不可或缺的,不能丢开不管。怎样才      能“专心”做事?

  AOP的目标(作用):让我们可以“专心做事”  日志记录,事务处理,异常捕获,缓存操作。

  AOP原理

  将复杂的需求分解出不同方面,将散布在系统中的公共功能集中解决

  采用代理机制组装起来运行,在不改变原程序的基础上对代码段进行增强处理,增加新的功能

3.构造注入

在Spring配置文件中通过<constructor-arg>元素为构造方法传参

  注意:

  1.一个<constructor-arg>元素表示构造方法的一个参数,且使用时不区分顺序。

  2.通过<constructor-arg>元素的index 属性可以指定该参数的位置索引,位置从0 开始。

  3.<constructor-arg>元素还提供了type 属性用来指定参数的类型,避免字符串和基本数据