《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的优 ...
随机推荐
- php javascript
php100:103:Jquery javascript javascript:网页用来改进设计.验证表单.检测浏览器.创建cookies. Javascript(简称JS) 和 HTML 标签一样都 ...
- 禁止ios默认拉动弹性行为
document.ontouchmove = function(e) { e.preventDefault();} /** 禁止ios默认拉动弹性行为**///屏蔽ios下浏览器滚动缓冲效果
- JS判断字符串是否为空、过滤空格、查找字符串位置等函数集
这是一个由网上收集的JS代码段,用于判断指定字符串是否为空,过滤字符串中某字符两边的空格.查找指定字符串开始的位置.使用IsFloat函数判断一 个字符串是否由数字(int or long or fl ...
- Struts2请求处理流程及源码分析
1.1 Struts2请求处理 1. 一个请求在Struts2框架中的处理步骤: a) 客户端初始化一个指向Servlet容器的请求: b) 根据Web.xml配置,请求首先经过ActionConte ...
- Flume笔记--source端监听目录,sink端上传到HDFS
官方文档参数解释:http://flume.apache.org/FlumeUserGuide.html#hdfs-sink 需要注意:文件格式,fileType=DataStream 默认为Sequ ...
- codevs 1220 数字三角形
1220 数字三角形 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 如图所示的数字三角形,从顶部出发,在每 ...
- linux系统ecshop拿shell方法
Title:linux系统ecshop拿shell方法 --2011-06-08 13:23 最近弄一个站,对ECSHOP拿shell不了解,导致走了很多的弯路. nginx/0.8.54的服务器, ...
- mongodb工具
可视化管理工具 http://www.mongovue.com/ mongodb use case http://www.mongodb.org/about/applications/ mongodb ...
- cf B. Fox Dividing Cheese
http://codeforces.com/contest/371/problem/B #include <cstdio> #include <iostream> #inclu ...
- Gridview中奇偶数行颜色设置
在gridview中的RowDataBound事件里面写 switch (e.Row.RowType) {case DataControlRowType.Header: e.Row.BackColor ...