Spring简介

Spring Framework 维基百科

Spring框架是 Java 平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于Java企业版平台构建的 Web 应用提供了大量的拓展支持。虽然 Spring 没有直接实现任何的编程模型,但它已经在 Java 社区中广为流行,基本上完全代替了企业级JavaBeans(EJB)模型。
Spring框架以 Apache License 2.0 开源许可协议的形式发布,该框架最初由 Rod Johnson 以及 Juergen Hoeller 等人开发。
Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持。Spring处理基础结构,因此您可以专注于应用程序。

Spring官网 https://spring.io/

Spring4.X 文档地址

框架模块
框架模块

  1. 核心容器
  所述核心容器由以下部分组成spring-core, spring-beans,spring-context,spring-context-support,和spring-expression (弹簧表达式语言)模块。
  
  的spring-core和spring-beans模块提供框架的基本零件,包括IOC和依赖注入特征。这 BeanFactory是工厂模式的复杂实现。它消除了对编程单例的需要,并允许您将依赖项的配置和规范与实际程序逻辑脱钩。
  
  所述上下文(spring-context)模块建立由设置在固体基体上的核心和豆类模块:它是访问一个框架式的方式是类似于一个JNDI注册表对象的装置。Context模块从Beans模块继承其功能,并增加了对国际化(例如,使用资源束),事件传播,资源加载以及通过Servlet容器透明创建上下文的支持。上下文模块还支持Java EE功能,例如EJB,JMX和基本远程处理。该ApplicationContext接口是上下文模块的焦点。 spring-context-support提供将通用第三方库集成到Spring应用程序上下文中以支持缓存(EhCache,Guava,JCache),邮件(JavaMail),调度(CommonJ,Quartz)和模板引擎(FreeMarker,JasperReports,Velocity)的支持。
  
  该spring-expression模块提供了一种功能强大的表达语言,用于在运行时查询和操作对象图。它是对JSP 2.1规范中指定的统一表达语言(统一EL)的扩展。该语言支持设置和获取属性值,属性分配,方法调用,访问数组,集合和索引器,逻辑和算术运算符,命名变量以及按名称从Spring的IoC容器中检索对象的内容。它还支持列表投影和选择以及常见的列表聚合。

spring-core:依赖注入IoC与DI的最基本实现spring-core依赖
spring-beans:Bean工厂与bean的装配
spring-bean依赖
spring-context:spring的context上下文即IoC容器
spring-context依赖
spring-context-support:spring额外支持包,比如邮件服务、视图解析等
spring-context-support依赖
spring-expression:spring表达式语言
spring-expression依赖

  1. AOP和工具
  该spring-aop模块提供了一个符合AOP Alliance要求的面向方面的编程实现,例如,您可以定义方法拦截器和切入点,以完全分离实现应分离功能的代码。使用源级元数据功能,您还可以以类似于.NET属性的方式将行为信息合并到代码中。
  
  单独的spring-aspects模块提供与AspectJ的集成。
  
  该spring-instrument模块提供了在某些应用程序服务器中使用的类检测支持和类加载器实现。该spring-instrument-tomcat 模块包含Spring的Tomcat的检测代理。

spring-aop:面向切面编程
spring-aop依赖

  1. 消息传递
	Spring框架4包括spring-messaging从关键抽象模块 Spring集成项目,例如Message,MessageChannel,MessageHandler,和其他人作为基于消息的应用奠定了基础。该模块还包括一组注释,用于将消息映射到方法,类似于基于Spring MVC注释的编程模型。
  1. 数据访问/集成
   所述数据访问/集成层由JDBC,ORM,OXM,JMS和交易模块。
   
   该spring-jdbc模块提供了JDBC抽象层,从而消除了对数据库供应商特定的错误代码进行繁琐的JDBC编码和解析的需要。
   
   该spring-tx模块支持 对实现特殊接口的类以及所有POJO(普通Java对象)进行编程和声明式事务管理。
   
   该spring-orm模块为流行的对象关系映射 API(包括JPA, JDO和Hibernate)提供了集成层 。使用该spring-orm模块,您可以将所有这些O / R映射框架与Spring提供的所有其他功能结合使用,例如前面提到的简单的声明式事务管理功能。
   
   该spring-oxm模块提供了一个抽象层,该抽象层支持对象/ XML映射实现,例如JAXB,Castor,XMLBeans,JiBX和XStream。
   
   该spring-jms模块(Java Messaging Service)包含用于生成和使用消息的功能。从Spring Framework 4.1开始,它提供了与spring-messaging模块的集成 。

spring-jdbc:jdbc的支持
spring-jdbc依赖
spring-tx:事务控制
spring-tx依赖
spring-orm:对象关系映射,集成orm框架
spring-orm依赖

  1. 网络
	所述网络层由的spring-web,spring-webmvc,spring-websocket,和 spring-webmvc-portlet模块。
	
	该spring-web模块提供了面向Web的基本集成功能,例如多部分文件上传功能以及使用Servlet侦听器和面向Web的应用程序上下文对IoC容器进行初始化。它还包含HTTP客户端和Spring远程支持的Web相关部分。
	
	该spring-webmvc模块(也称为Web-Servlet模块)包含Spring的model-view-controller(MVC)和针对Web应用程序的REST Web Services实现。Spring的MVC框架在域模型代码和Web表单之间提供了清晰的分隔,并与Spring框架的所有其他功能集成在一起。
	
	该spring-webmvc-portlet模块(也称为Web-Portlet模块)提供要在Portlet环境中使用的MVC实现,并镜像基于Servlet的spring-webmvc模块的功能

spring-jdbc:jdbc的支持
spring-webmvc依赖

  1. 测试
	该spring-test模块支持Spring组件与JUnit或TestNG 的单元测试和 集成测试。它提供了Spring 的一致加载ApplicationContext和这些上下文的缓存。它还提供了可用于隔离测试代码的模拟对象。

sring-test:spring测试,提供junit与mock测试功能
spring-test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值