《Spring敲门砖之基础教程第一季》 第一章 概要介绍
百度百科say:
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。点击查看
WiKi say:
Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由Rod Johnson和Juergen Hoeller等开发。Spring Framework提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。点击查看
看完啦网络解说,结合我的认识与总结资料分享一下观点;
下面我们say:
就像维基百科说的,spring 的全部名称是spring framwork。它就是一个由名字叫 Rod Johnson的大神,为了解决J2EE系统框架臃肿、低效、脱离苦海而最终形成的一个框架,此框架是一个轻便、灵巧,易于开发、测试和部署的轻量级开发框架,它为企业开发人员带来了极大的便利。spring能做很多事情,它重点服务领域是J2EE企业应用,它带来的是从上到下的贯穿整个项目,从表现层,业务层再到持久层,可以说它都有胜任的地方。
Spring是目前为止最流行的框架之一,来自全世界几百万的开发人员在利用它的特性进行项目建造,它作为一门轻量级、开源的项目架构,更会引来全世界的程序爱好者的关注,可以通过研究源码,了解Spring原理,从而更加灵活快捷的使用它。spring是为了解决企业级开发的复杂性而生的,我们通过使用普通的POJO(ps可以不遵循JavaBean规范)就能使用它,避免了传统EJB的臃肿,可以做到松耦合,使我们只关注业务的实现,大大简化JAVA的开发工作量。

spring框架图
Spring的使用有哪些主要特性值的关注呢?
1.使用IOC容易解耦
Spring强大的功能之一就是IOC控制反转也称作依赖注入Dependency Injection (DI),通过在容器里配置JavaBean就可以管理我们的对象,从此我们再也不用担心单例或者多例,也不用在去new一个对象,然后一个一个set属性了,通过Spring一步到位,你只要负责上层应用的实现就可。
2.面向切面编程AOP
Spring提供了基于OOP的AOP的面像切面功能,它引入了横切关注点功能,即我们在开发过程中一些通用的如日志,安全,事务管理在很多地方都要用到,那么我们把它们拿出来,给每一个需要的地方做一个标记点,当他们要用的时候主动来这些功能就可以了,从而可以使应用对象更加关注自己业务逻辑,其他的交给其他应用完成。
其他还有一些特性:如声明式事务、集成测试、持久化处理、兼容性强便于整合,此外还提供了大量的JAVA API给我们使用,可以说,Spring真的是匠心独运,巧夺天工,我们要感谢Rod Johnson等人的无私奉献。
通过使用Spring,我们能得体会到什么呢?
1.低侵入式设计,代码污染极低,我们可以通过使用pojos来开发应用,无需运行在EJB或者其它重量级的容器里。
2.它易于集成第三方应用如ORM frameworks, logging frameworks, JEE, Quartz and JDK timers, 其他的视图技术等,无排它性。.
2.独立于各种应用服务器,具有java根本特性可移植性强,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺。
4.Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦。
5.Spring的AOP面向切面编程,支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用
6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部,按需分配。
总结一下:
本章我们主要介绍了spring的基本概要,知道spring从哪里来到哪里去,他的主要特性IOC和AOP等其它特性,以及阐述了spring在企业级开发能给我们带来的便利什么,至于sping的七大管理模块后面我们会分门别类的进行细致的讲解,今天就到这里,谢谢大家。如果你喜欢本文,请关注下面公众号获取最新资讯文章。

《Spring敲门砖之基础教程第一季》 第一章 概要介绍的更多相关文章
- Spring Cloud Alibaba基础教程:Nacos的集群部署
继续说说生产环境的Nacos搭建,通过上一篇<Spring Cloud Alibaba基础教程:Nacos的数据持久化>的介绍,我们已经知道Nacos对配置信息的存储原理,在集群搭建的时候 ...
- Spring Cloud Alibaba基础教程:Nacos的数据持久化
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- Spring Cloud Alibaba基础教程:Nacos配置的多环境管理
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- Spring Cloud Alibaba基础教程:使用Nacos作为配置中心
通过本教程的前两篇: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方 ...
- Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)
通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...
- Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0
昨晚Nacos社区发布了第一个生产级版本:0.8.0.由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为基础 ...
- Spring Cloud Alibaba基础教程-Nacos(一)
2019快结束,也有很久没写博客了,今天我们来谈谈Nacos,如果对您有帮助,麻烦左上角点个关注 ,谢谢 ! 嘻嘻 今天先写第一篇 文章目录 为什么要使用Nacos Eureka 闭源 Nacos的优 ...
随机推荐
- tomcat context标签中resource配置
- php发送post请求的三种方法示例
本文分享下php发送post请求的三种方法与示例代码,分别使用curl.file_get_content.fsocket来实现post提交数据,大家做个参考. php发送post请求的三种方法,分别使 ...
- Python3 如何优雅地使用正则表达式(详解四)
更多强大的功能 到目前为止,我们只是介绍了正则表达式的一部分功能.在这一篇中,我们会学习到一些新的元字符,然后再教大家如何使用组来获得被匹配的部分文本. 更多元字符 还有一些元字符我们没有讲到,接下来 ...
- Filter及FilterChain的使用详解
原文地址:http://blog.csdn.net/zhaozheng7758/article/details/6105749 一.Filter的介绍及使用 什么是过滤器? 与Servlet相似,过滤 ...
- 用Doxygen生成文档
我是生成C/C++的文档,输出html格式的文档.就不做成CHM了. 注释要这种写:(当然,有数种注释风格,选择任意你喜欢的就行) /** * * 一系列的doxygen的 command * * * ...
- U-Boot启动过程完全分析
U-Boot启动过程完全分析 1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能 硬件设备初始化 加载U-Boot第二阶段 ...
- BZOJ3401: [Usaco2009 Mar]Look Up 仰望
3401: [Usaco2009 Mar]Look Up 仰望 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 87 Solved: 58[Submit ...
- delphi TCXTreelist 通过代码控制行的可编辑性
procedure TfrmSetOutPzTradeDeptPerson.grdTradeClientEditing(Sender: TObject; AColumn: TcxTreeListCo ...
- Java---设计模块(值对象)
★ 场景和问题 在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互? ★ 基本的编写步骤 ◎第1步:写一个类,实现可序列化(如果以后数据 ...
- 51nod-正整数分组问题(基础方程DP-01背包)
正整数分组 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. 思路: 这题的实质其实也是0-1背包问 ...