一、简介
一个轻量级开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架
是一个基于IOC和AOP的结构J2EE系统的框架
为了解决企业级应用开发的业务逻辑层和其他各层耦合问题
Spring负责基础架构,使得开发人员可以更专注与应用程序的开发
二、Spring体系结构
spring框架至今已集成二十多个模块。如上图所示,主要分为核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息、和测试模块。
三、Spring框架的核心内容
1、IOC/DI(控制反转/依赖注入)
· IOC(Inversion Of Control):反转控制,是Spring的基础 。 简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象。
· DI(Dependency Inject):依赖注入。 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。
在Java中依然注入有以下三种实现方式:
构造器注入
Setter方法注入
接口注入
2、AOP(面向切面编程)
AOP(Aspect Oriented Program) 面向切面编程。
首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能。
所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务
所谓的周边功能,比如性能统计,日志,事务管理等等
周边功能在Spring的面向切面编程AOP思想里,被定义为切面
在面向切面编程AOP的思想里面,核心业务功能和切面功能分别独立进行开发
然后把切面功能和核心业务功能 "编织" 在一起,这就叫AOP
四、Spring有几种配置方式
将Spring配置到应用开发中有以下三种方式:
基于XML的配置
基于注解的配置
基于Java的配置