Spring框架各模块功能介绍

一. Spring是什么?

  • Spring由Rod johnson开发;
  • 是一个非常活跃的开源框架;
  • 它帮助分离项目组件(对象)之间的依赖关系;
  • 它的主要目的是简化企业开发

二. Spring的核心概念

  • IOC

    • Inversion of Control
    • 控制反转
    • 对象创建&对象之间维护的控制权由程序员管理变为由Spring管理
  • DI

    • Dependency Injection
    • 依赖注入
    • 表示对象和对象之间的依赖关系管理

 

  • AOP

    • Aspect Oriented Programming
    • 面向切面编程

三. Spring的框架组成

 

Spring框架的功能大约由20个模块组成,这些模块按组可以分为:

Core Container(核心容器):

  • Beans:负责Bean工厂中Bean的装配,所谓Bean工厂即是创建对象的工厂,Bean的装配也就是对象的创建工作;
  • Core:这个模块即是负责IOC(控制反转)最基本的实现;
  • Context:Spring的IOC容器,因大量调用Spring Core中的函数,整合了Spring的大部分功能。Bean创建好对象后,由Context负责建立Bean与Bean之间的关系并维护。所以也可以把Context看成是Bean关系的集合;
  • SpEl:即Spring Expression Language(Spring表达式语言);

Data Access/Integration(数据访问/集成):

  • JDBC:对JDBC的简单封装;
  • ORM:支持数据集成框架的封装(如Mybatis,Hibernate);
  • OXM:即Object XML Mapper,它的作用是在Java对象和XML文档之间来回转换;
  • JMS:生产者和消费者的消息功能的实现;
  • Transations:事务管理,不多BB;

Web:

  • WebSocket:提供Socket通信,web端的的推送功能;
  • Servlet:Spring MVC框架的实现;
  • Web:包含web应用开发用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类,Struts集成类、文件上传的支持类、Filter类和大量辅助工具类;
  • Portlet:实现web模块功能的聚合(如网站首页(Port)下面可能会有不同的子窗口(Portlet));

AOP:

  • 面向切面;

Aspects:

  • 同样是面向切面的一个重要的组成部分,提供对AspectJ框架的整合;

Instrumentation(设备):

  • 相当于一个检测器,提供对JVM以及对Tomcat的检测;

Messaging(消息):

  • Spring提供的对消息处理的功能;

Test(测试):

  • 我们在做单元测试时,Spring会帮我们初始化一些测试过程当中需要用到的资源对象;
原文地址:https://www.cnblogs.com/zilongmao/p/10156310.html