spring帮助文档
官网:
https://spring.io/
参考文档:
https://docs.spring.io/spring-framework/docs/4.3.30.RELEASE/spring-framework-reference/htmlsingle/#overview
Spring简介
Spring框架是一个Java平台,为开发Java应用程序提供全面的基础架构支持。Spring处理基础结构,因此您可以专注于应用程序。
Spring使您能够从“普通的Java对象”(POJO)构建应用程序,并将企业服务非侵入性地应用于POJO。此功能适用于Java SE编程模型以及全部和部分Java EE。
作为应用程序开发人员,您如何从Spring平台中受益的示例:
使Java方法在数据库事务中执行,而不必处理事务API。
使本地Java方法成为HTTP端点,而不必处理Servlet API。
使本地Java方法成为消息处理程序,而不必处理JMS API。
使本地Java方法成为管理操作,而不必处理JMX API。
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。
Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。
因此, Spring不仅仅能应用于JEE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。
Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
Spring框架图
图片解析:
Data Access/Integration(数据访问/集成):
- JDBC:Java database connectivity( java连接数据库) 作用:后端代码连接数据库
- ORM:Object Relation Mapping (对象关系映射) 例如:Mybatis和Hibernate框架都是ORM的实现 作用:数据库字段映射到实体类
- OXM:Object XML Mapping( O/X映射器) 作用:java对象和xml文档之间转换
- JMS: Java Message Service (Java消息服务应用程序接口) 作用:java集成消息中间件
- Transactions:事务 参考mysql事务管理。
Web 指得是集成的连接前端的框架:
- WebSocket:HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议
- Servlet:这个应该就不用说了吧。接受请求,相应数据,前端后端的中间层。
- Web:封装了快速开发spring-web需要的基础组件 作用:用于连接springweb框架
- Portlet:类似servlet,一种Web组件。spring同样集成了对它的使用组件
AOP:面向切面编程 Aspect Oriented Programming 是oop(面向对象编程)的延续 spring对AOP思想的实现组件。
Aspects:AOP现有两个主要的流行框架,即Spring AOP和Spring+AspectJ,个人只学了AOP对Aspects还没有研究。
Instrumentation:java高级特性Instrumentation功能。指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。
Messaging:为集成messaging api和消息协议提供支持。
core container(核心容器):
- Bean 框架的基础部分
- Core 实现了IOC和DI,Bean的配置和加载
- Context spring的上下文 个人理解是 程序运行时 所需的数据结构 的抽象表达。IOC容器也是程序,是程序就要有上下文(运行时数据)
- SpEL 表达式语言
Test 单元测试
7大模块
Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC
Spring Core:Spring的核心容器。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。
Spring AOP:面向切面编程
Spring ORM:对象关系映射 Mybatis Hibermate
Spring DAO:DAO(Data Access Object) 数据库访问对象,一般是mapper接口和xml文件(逆向工程搞出来的)。对其的支持
Spring Web:WebApplicationContext,Multpart resolver,Web utils等的支持
Spring Context:ApplicationContext UI等的支持
Spring Web MVC: Web MVC,Framework,Web Views,JSP,PDF等的支持
总结
spring集成了JDBC,mybatis,hiberate,jms,o/x映射器,servlet,porlet,aop等如此多的框架组件,极大的简化了编程,是一个具有划时代意义的框架!!!