热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SPRING_Spring_总结_01_Spring概述

本文由编程笔记#小编为大家整理,主要介绍了Spring_总结_01_Spring概述相关的知识,希望对你有一定的参考价值。一、前言从今天开始,重新总结
本文由编程笔记#小编为大家整理,主要介绍了Spring_总结_01_Spring概述相关的知识,希望对你有一定的参考价值。



一、前言

从今天开始,重新总结一下Spring的相关知识,主要是结合《Spring实战(第四版)》和 《JavaEE开发的颠覆者——SpringBoot实战》这两本书以及官方文档,同时加入自己的一点点点小小小理解,如有不当之处,还请指正。

 


二、Spring最根本的使命

Spring框架是一个轻量级的企业级开发的一站式解决方案,所谓解决方案就是可以基于Spring解决JavaEE开发的所有问题。

事实上,Spring也确实在不断朝这个方向努力,从官方上列出的Spring产品就可以看出,同时这也反映出 Spring最根本的使命:简化Java开发

 


三、Spring框架的四大原则

为了简化Java开发,Spring框架所有功能的设计和实现都基于四大原则:

(1)使用POJO进行轻量级和最小侵入式开发

(2)通过依赖注入和基于接口编程实现松耦合

(3)通过AOP和默认习惯进行声明式编程

(4)使用AOP和模板(template)减少模式化代码

 

 


四、Spring 的六大模块

Spring是模块化的,这意味着你可以只使用你需要的 Spring 的模块。

技术分享图片

                                                          图 1.1 Spring框架由6个定义良好的模块分类组成

 


1.核心容器(Core Container)






























1Spring-Core核心工具类,Spring其他模块大量使用Spring-Core;
2Spring-BeanSpring定义Bean的支持;
3Spring-Context运行时Spring容器;
4Spring-Context-SupportSpring容器对第三方包的集成支持;
5Spring-Expression 使用表达式语言在运行时查询和操作对象。

 


2.AOP















1Spring-AOP基于代理的AOP支持
2Spring-Aspects基于AspectJ的AOP支持

 


3.消息(Messaging)

Spring-Messaging :对消息架构和协议的支持。

 


4.Web

























1Spring-Web提供基础的Web集成的功能,在Web项目中提供Spring的容器。
2Spring-Webmvc提供基于Servlet的Spring MVC
3Spring-WebSocket提供WebSocket
4Spring-Webmvc-Portlet提供Portlet环境支持

 


4.数据访问/集成(Data Acess / Integration)

 






























1Spring-JDBC提供以JDBC访问数据库的支持
2Spring-TX提供编程式和声明式的事务支持
3Spring-ORM提供对对象/关系映射技术的支持
4Spring-OXM提供对对象/XML映射技术的支持
5Spring-JMS提供对JMS的支持

 

 

 


五、Spring的生态

 





















































































1Spring Boot使用默认开发配置来实现快速开发
2Spring XD用来简化大数据应用开发
3Spring Cloud为分部式系统开发提供工具集
4Spring Data对主流的关系型和NoSQL数据库的支持
5Spring Integration通过消息机制对企业集成模式(EIP)的支持
6Spring Batch简化及优化大量数据的批处理操作
7Spring Security通过认证和授权保护应用
8Spring HATEOAS基于HATEOAS原则简化了REST服务开发
9Spring Social与社交网络API(如Faceook、新浪微博、QQ等)的集成
10Spring AMQP对基于AMQP的消息的支持
11Spring Mobile提供对手机设备检测的功能,给不同的设备返回不同的页面的支持
12Spring for android主要提供在Android上消费RESTful API的功能
13Spring Web Flow基于Spring MVC提供基于向导流程式的Web应用开发
14Spring Web Services提供了基于协议有限的SOAP/Web服务
15Spring LDAP简化使用LDAP开发
16Spring Session提供一个API及实现来管理用户会话信息

 

 


六、参考资料

1.《Spring实战(第四版)》

2.《JavaEE开发的颠覆者——SpringBoot实战》

 


推荐阅读
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文介绍了Java的公式汇总及相关知识,包括定义变量的语法格式、类型转换公式、三元表达式、定义新的实例的格式、引用类型的方法以及数组静态初始化等内容。希望对读者有一定的参考价值。 ... [详细]
  • NotSupportedException无法将类型“System.DateTime”强制转换为类型“System.Object”
    本文介绍了在使用LINQ to Entities时出现的NotSupportedException异常,该异常是由于无法将类型“System.DateTime”强制转换为类型“System.Object”所导致的。同时还介绍了相关的错误信息和解决方法。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • Iwanttointegratesort,order,maxandoffsetinafindAllquery.Thefollowingworksfine:我想在fin ... [详细]
  • Yii framwork 应用小窍门
    Yiiframework应用小窍门1.YiiFramework]如何获取当前controller的名称?下面语句就可以获取当前控制器的名称了!Php代码 ... [详细]
  • QuestionThereareatotalofncoursesyouhavetotake,labeledfrom0ton-1.Somecoursesmayhaveprerequi ... [详细]
author-avatar
兴添刚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有