百度百科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敲门砖之基础教程第一季》 第一章 概要介绍的更多相关文章

  1. Spring Cloud Alibaba基础教程:Nacos的集群部署

    继续说说生产环境的Nacos搭建,通过上一篇<Spring Cloud Alibaba基础教程:Nacos的数据持久化>的介绍,我们已经知道Nacos对配置信息的存储原理,在集群搭建的时候 ...

  2. Spring Cloud Alibaba基础教程:Nacos的数据持久化

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  3. Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  4. Spring Cloud Alibaba基础教程:Nacos配置的多环境管理

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  5. Spring Cloud Alibaba基础教程:使用Nacos作为配置中心

    通过本教程的前两篇: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方 ...

  6. Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)

    通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...

  7. Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

    自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...

  8. Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

    昨晚Nacos社区发布了第一个生产级版本:0.8.0.由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为基础 ...

  9. Spring Cloud Alibaba基础教程-Nacos(一)

    2019快结束,也有很久没写博客了,今天我们来谈谈Nacos,如果对您有帮助,麻烦左上角点个关注 ,谢谢 ! 嘻嘻 今天先写第一篇 文章目录 为什么要使用Nacos Eureka 闭源 Nacos的优 ...

随机推荐

  1. PowerShell: 如何解决File **.ps1 cannot be loaded because the execution of scripts is disabled on this sy

    PowerShell 默认不允许执行*.ps1脚本文件.运行ps1文件会得到下面的错误: File C:\Temp\Test.ps1 cannot be loaded because the exec ...

  2. node学习笔记-搭建node环境

    最近项目要用到node,利用空闲整理做下笔记 第一步  安装node,方式比较多,最为直接的是直接去官网     可直接从官网下载安装http://nodejs.cn/download/ 根据自己情况 ...

  3. 23个phpcms v9模板制作及二次开发常用代码案例

    0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...

  4. github 提交时候提示 org.eclipse.jgit.errors.ObjectWritingException: Unable to create new object: /usr/local/apache243/ht

    只需要执行 chmod -R 777 ./*  把 .git文件权限设置为 777便可以实现.

  5. Cocos2d粒子系统二

    粒子系统的属性: 粒子的发射速度 重力模式(模式A): 重力 方向 速度 +- 变动 切向加速度 +- 变动 径向加速度 +- 变动 半径模式(模式B): 开始半径 +- 变动 结束半径 +- 变动 ...

  6. android_demo 之生成颜色

    老师说循环出颜色数字  然后显示出来 他说的什么一脸懵逼(=@__@=)   代码还在手上也还是懵逼 (づ。◕‿‿◕。)づ 不管了   留个脚印在这 以后想起来   至少也知道 直接上代码吧    说 ...

  7. [POJ] 1948 Triangular Pastures (DP)

    题目地址:http://poj.org/problem?id=1948 题目大意: 给N条边,把这些边组成一个三角形,问面积最大是多少?必须把所有边都用上. 解题思路: 根据题意周长c已知,求组合三边 ...

  8. 摇滚吧HTML5!有声前端交互!(Hello, Jsonic!)

    软件工程师们摆弄1和0编写他们的乌托邦,音乐人门把玩12平均律上的音符构筑他们的伊甸园.最近,我偶然看了<蓝色骨头>这部电影,片中的男主角是位黑客,同时又兼具音乐创作的才华.在现实生活中, ...

  9. Android系统源代码下载

    最近,我在研究android,所以想下载android源代码看看.按照http://source.android.com/source/downloading.html 这个页面所提示的步骤在下载源代 ...

  10. 为什么c程序里一定要写main函数

    一. 学习过程 编写程序f.c: 对其进行编译,正常通过,再对其进行连接,出现错误: 显示的出错信息为: 翻译成中文是:在c0s模块没有定义符号’_main’. 那么这个错误信息可能与文件c0s.ob ...