spring框架简介

一、Spring框架概念

spring 是众多开源 java 项目中的一员,基于分层的 javaEE 应用一站式轻量
级开源框架,主要核心是 Ioc(控制反转/依赖注入)Aop(面向切面) 两大技
术,实现项目在开发过程中的轻松解耦,提高项目的开发效率。

二、Spring源码架构

在这里插入图片描述Spring 总共大约有 20 个模块,由 1300 多个不同的文件构成。而这些
组件被分别整合在核心容器(Core Container)、 Aop(Aspect Oriented Programming)和设备支持(Instrmentation)、数据访问及集成(Data Access/Integeration)、Web、报文发送(Messaging)、测试 6 个模块集合中。

1. 核心容器:spring-beans 和 spring-core 模块是 Spring 框架的核
心模块,包含控制反转(Inversion of Control, IoC)和依赖注
入(Dependency Injection, DI),核心容器提供 Spring 框架的
基本功能。核心容器的主要组件是 BeanFactory,工厂模式的实现。
BeanFactory 使用控制反转(IOC) 思想将应用程序的配置和依赖
性规范与实际的应用程序代码分开。
Spring 上下文 Spring Context:Spring 上下文是一个配置文件,
向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,
例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
Spring-Expression 模块是统一表达式语言(unified EL)的扩展
模块,可以查询、管理运行中的对象,同时也方便的可以调用对象
方法、操作数组、集合等。它的语法类似于传统 EL,但提供了额
外的功能,最出色的要数函数调用和简单字符串的模板函数。

2、Spring-AOP:spring-aop 是 Spring 的另一个核心模块, 在 Spring
中,他是以 JVM 的动态代理技术为基础,然后设计出了一系列的
Aop 横切实现,比如前置通知、返回通知、异常通知等。通过其配
置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到
了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任
何对象支持 AOP。

3、Spring Data Access(数据访问):由 spring-jdbc、spring-tx、
spring-orm、spring-jms 和 spring-oxm 5 个模块组成 springjdbc 模块是 Spring 提供的 JDBC 抽象框架的主要实现模块,用于
简化 Spring JDBC。 Spring-tx 模块是 SpringJDBC 事务控制实现模块。使用 Spring 框
架,它对事务做了很好的封装,通过它的 Aop 配置,可以灵活的配
置在任何一层。 Spring-Orm 模块是 ORM 框架支持模块,主要集成 hibernate,
Java Persistence API (JPA) 和 Java Data Objects (JDO) 用于
资源管理、数据访问对象(DAO)的实现和事务策略。
Spring-Jms 模块(Java Messaging Service)能够发送和接受信
息。
Spring-Oxm 模块主要提供一个抽象层以支撑 OXM(OXM 是 Objectto-XML-Mapping 的缩写,它是一个 O/M-mapper,将 java 对象映射
成 XML 数据,或者将 XML 数据映射成 java 对象),例如:JAXB,
Castor, XMLBeans, JiBX 和 XStream 等。

4. Web 模块:由 spring-web、spring-webmvc、spring-websocket和 spring-webmvc-portlet 4 个模块组成,Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。

5. 报文发送:即 spring-messaging 模块。

6. 单元测试:即 spring-test 模块。spring-test 模块主要为测试提供支持

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值