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)
1 | Spring-Core | 核心工具类,Spring其他模块大量使用Spring-Core; |
2 | Spring-Bean | Spring定义Bean的支持; |
3 | Spring-Context | 运行时Spring容器; |
4 | Spring-Context-Support | Spring容器对第三方包的集成支持; |
5 | Spring-Expression | 使用表达式语言在运行时查询和操作对象。 |
2.AOP
1 | Spring-AOP | 基于代理的AOP支持 |
2 | Spring-Aspects | 基于AspectJ的AOP支持 |
3.消息(Messaging)
Spring-Messaging :对消息架构和协议的支持。
4.Web
1 | Spring-Web | 提供基础的Web集成的功能,在Web项目中提供Spring的容器。 |
2 | Spring-Webmvc | 提供基于Servlet的Spring MVC |
3 | Spring-WebSocket | 提供WebSocket |
4 | Spring-Webmvc-Portlet | 提供Portlet环境支持 |
4.数据访问/集成(Data Acess / Integration)
1 | Spring-JDBC | 提供以JDBC访问数据库的支持 |
2 | Spring-TX | 提供编程式和声明式的事务支持 |
3 | Spring-ORM | 提供对对象/关系映射技术的支持 |
4 | Spring-OXM | 提供对对象/XML映射技术的支持 |
5 | Spring-JMS | 提供对JMS的支持 |
五、Spring的生态
1 | Spring Boot | 使用默认开发配置来实现快速开发 |
2 | Spring XD | 用来简化大数据应用开发 |
3 | Spring Cloud | 为分部式系统开发提供工具集 |
4 | Spring Data | 对主流的关系型和NoSQL数据库的支持 |
5 | Spring Integration | 通过消息机制对企业集成模式(EIP)的支持 |
6 | Spring Batch | 简化及优化大量数据的批处理操作 |
7 | Spring Security | 通过认证和授权保护应用 |
8 | Spring HATEOAS | 基于HATEOAS原则简化了REST服务开发 |
9 | Spring Social | 与社交网络API(如Faceook、新浪微博、QQ等)的集成 |
10 | Spring AMQP | 对基于AMQP的消息的支持 |
11 | Spring Mobile | 提供对手机设备检测的功能,给不同的设备返回不同的页面的支持 |
12 | Spring for Android | 主要提供在Android上消费RESTful API的功能 |
13 | Spring Web Flow | 基于Spring MVC提供基于向导流程式的Web应用开发 |
14 | Spring Web Services | 提供了基于协议有限的SOAP/Web服务 |
15 | Spring LDAP | 简化使用LDAP开发 |
16 | Spring Session | 提供一个API及实现来管理用户会话信息 |
六、参考资料
1.《Spring实战(第四版)》
2.《JavaEE开发的颠覆者——SpringBoot实战》
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
从源码看 Android 事件分发
Android 事件分发是安卓中一个很精妙的地方,很多开发人员有些不解,为什么呢?因为不知道怎么去运用,其实这个地方理解起来比较简单,我写这么一篇文章就是为了串一串这个知识点。 脱离源码浅谈分发 事件分发是在最上层 View 一直往下层传递事件,并通过 onTouchEvent(MotionEvent ev) 这个方法来分发的,如果某个 View 想处理这个事件就需要重写这个 onTouchEvent() 并且返回 True ,然后写自己的逻辑处理事件。 如果是 ViewGroup 想处理这个事件呢,那么他就要重写 onInterceptTouchEvent(MotionEvent ev) 方法并返回 True ,来拦截这个事件并交给 ViewGroup 的 onTouchEvent() 来处理这个事件。 如果 ViewGroup 里面的子 View 想处理这个事件怎么办,不要担心 Android 给我们提供了 requestDisallowInterceptTouchEvent(boolean b) 方法然后传入 True 就会阻止上一级 ViewGroup 拦截事件,然后子 Vie...
- 下一篇
史上最全WebView使用,附送Html5Activity一份
WebView在现在的项目中使用的频率应该还是非常高的。我个人总觉得HTML5是一种趋势。找了一些东西,在此总结。本篇最后有一个非常不错 的 Html5Activity 加载类,不想看的可以直接跳下载。 WebSettings WebSettings webSettings = mWebView .getSettings(); //支持获取手势焦点,输入用户名、密码或其他 webview.requestFocusFromTouch(); setJavaScriptEnabled(true); //支持js setPluginsEnabled(true); //支持插件 webSettings.setRenderPriority(RenderPriority.HIGH); //提高渲染的优先级 设置自适应屏幕,两者合用 setUseWideViewPort(true); //将图片调整到适合webview的大小 setLoadWithOverviewMode(true); // 缩放至屏幕的大小 setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS关闭SELinux安全模块
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址