当前位置: 首页 > news >正文

集团网站建设教程安徽网站优化建设

集团网站建设教程,安徽网站优化建设,前端线下培训,个人网站建设方案书 备案文章目录 1、 Spring的发展历史2、为什么Spring能霸屏?2.1、容器的设计2.2、通过四个策略2.3、三种方式 3、学习编程设计的典范 1、 Spring的发展历史 正当SUN公司的EJB在全球开始热炒时,正当程序员纷纷转型EJB开发时,正当程序员为跑通EJB程…

文章目录

  • 1、 Spring的发展历史
  • 2、为什么Spring能霸屏?
    • 2.1、容器的设计
    • 2.2、通过四个策略
    • 2.3、三种方式
  • 3、学习编程设计的典范

1、 Spring的发展历史

正当SUN公司的EJB在全球开始热炒时,正当程序员纷纷转型EJB开发时,正当程序员为跑通EJB程序而欢呼雀跃时。
突然一个名不见经传的悉尼大学的音乐学博士Rod Johnson(罗德·约翰逊) 写了一本书。
《Expert One-On-One J2EE Development without EJB》,而书中阐述的一种新的理念,并且形成了基础的代码和案例。
瞬间在软件开发行业引起轰动,正当大家都纷纷要走上EJB的康庄大道时,而且有SUN公司背书,却在这个时候有人敢于挑战EJB,而且竟然还把它按在地上摩擦,而且竟然还真把EJB打败了,EJB本来要躺着就等天上掉钱呢,一夜醒来破产了。

这东西怎么这么厉害,它是谁?这就是今天我们要讲的Spring框架。

Spring是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
在这里插入图片描述

2002年10月,Rod Johnson 撰写的这本书介绍了当时 Java 企业应用程序开发的情况,并指出了 Java EE 和 EJB 组件框架中的存在的一些主要缺陷。在这本书中,他提出了一个基于普通 Java 类和依赖注入的更简单的解决方案。

在书中,他展示了如何在不使用 EJB 的情况下构建高质量,可扩展的在线座位预留系统。为了构建应用程序,他编写了超过 30,000 行的基础结构代码。包含许多可重用的 Java 接口和类,如 ApplicationContext和BeanFactory。由于java接口是依赖注入的基本构建块,因此他将这些类的根包命名为com.interface21。在本书发布后不久,开发者 Juergen Hoeller 和 Yann Caroff 说服 Rod Johnson 创建一个基于基础结构代码的开源项目。

2003年2月左右,Rod(罗德)、Juergen(尤尔根) 和 Yann(雅恩) 开始合作开发该项目 。Yann 为新框架创造了“Spring”的名字。这样Spring项目就诞生了。

2003年8月,Spring1.0-m1

2004年3月,Spring1.0,它提供了IoC容器和AOP框架两个核心功能。

2004年8月,Rod Johnson,Juergen Hoeller,Keith Donald 和 Colin Sampaleanu 共同创立了一家专注于 Spring 咨询,培训和支持的公司 interface21。

2006年10月,Spring 2.0版本是一个里程碑式的版本,它引入了很多新的功能,如注解驱动的开发模式、Spring MVC框架、JDBC模板等。

2007年11月,在 Rod 领导下,Interface21公司被更名为 SpringSource。

2007年11月,Spring 2.5

2008年4月,GitHub成立,方便了Spring代码迁移。

2009年8月,SpringSource 以 4.2 亿美元被 VMWare 收购。

2009年12月,Spring 3.0,引入了Java 5的特性支持、REST风格的Web服务支持等。

2012年7月,Rod Johnson 离开了团队。

2013年4月,VMware 和 EMC 通过 GE 投资创建了一家名为 Pivotal 的合资企业。所有的 Spring 应用项目都转移到了 Pivotal。

2012年10月,Mike Youngstrom 在 Spring jira 中创建了一个功能请求,要求在 Spring 框架中支持无容器 Web 应用程序体系结构。这一要求促使了2013年初,Pivotal开始了Spring Boot 项目的研发。

2014年4月,Spring Boot 1.0.0 发布。Spring Boot非常简单,这样以来java开发人员能够快速地采用它。Spring Boot可以说是在 Java 中开发基于 REST 的微服务 Web 应用程序的最快方法之一。

2015年11月,Spring boot 2.0.0 发布。

2017年发布的Spring 5.0版本引入了对响应式编程的支持,并且对Spring框架的核心组件进行了重构和升级,以提高框架的性能和可扩展性。

在这里插入图片描述

2、为什么Spring能霸屏?

2.1、容器的设计

Spring容器的设计非常牛,历史上很多框架很快登顶又很快谢幕。如开启架构的先河的EJB,如表示层的Struts1、Struts2框架,如持久层的Hibernate,哪个当年都是经典中的经典,鼎盛时都雄霸一方,但后期都逐渐消亡。回头看看是什么原因呢?就是它们没有根,它们只是一个产品,它们都是java的依附品,当有新的更好的产品出现,它们只能被替代,最终只能黯然落幕。

而Spring为何能常青呢?
就是它有根。它的根是什么?就是JavaObject对象,写java程序我们都知道,Java万物皆Object。那如果你的Object被绑架,是不是就可以挟天子以令诸侯。对Spring就这么干的,它发明了IoC控制反转,而利于IoC控制反转就形成了对Object控制权。以前我们开发代码要使用java某个类,特别简单,自己创建即可。如:Person p = new Person。而现在不行了,我们必须从容器中获取,如:Person p = getBean(“person”); 这样一旦你使用了Spring框架,再想刷开它单干,就不可能了。

2.2、通过四个策略

Spring做的事情远不这么简单。它进一步的蚕食:

  1. 基于 POJO 的轻量级和最小侵入性编程;
  2. 通过依赖注入 DI 和面向接口松耦合;
  3. 基于切面 AOP 进行声明式编程;
  4. 通过切面和模板(设计模式的)减少样板式代码;

2.3、三种方式

实现上面4个策略的主要是通过三种方式:

  1. 面向 Bean(BOP),形成Bean的容器,需要对象从容器中获取。
  2. 依赖注入(DI),自动注入,开发者特别方便。
  3. 面向切面(AOP),实现无侵入的代码加强。

概念谁不会提呢?每个技术都有,但Spring做的最优,最完美,没有瑕疵,让你不得不爱上它。
EJB不能完全实现业务,查询where不能动态,致命缺点。
Hibernate面向对象,构建复杂,性能降低,并发问题多,采用ONGL晦涩难懂,没法维护,致命BUG满天飞。
Struts1、Struts2 XML配置巨大,手工配置错误百出。
而至今Spring发展20年了,还从未出过一次致命的BUG。不光如此还不断精进,又加宽护城河,推出SpringCloud微服务架构,大型项目必用技术栈。

3、学习编程设计的典范

今天很多人认为学java过气了,其实他根本不懂java的精髓。今天我们更多的是学java栈,甚至学习Spring才是基础核心。

因为Spring是采用Java语言,它的Spring的源码设计优雅、精妙、结构清晰、匠心独运,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。Spring框架源码无疑是Java技术的最佳实践范例。如果最终想成为一个编程大咖,必须翻阅Spring源码,而这和编程语言无关。这套思想掌握,可以用在其它语言中,C++、Python、go等。

http://www.15wanjia.com/news/189697.html

相关文章:

  • 定制网站开发公司哪家好?点击查看wordpress被篡改文件
  • 电商网站设计岗位主要是微信手机官网登录入口注册
  • 做新闻类网站需要什么资质如何申请网页域名
  • 首饰网站建设网站开发与设计培训
  • 从事网站开发需要的证书电话销售系统
  • 英文网站翻译怎么做呢京东企业的电子网站建设
  • 钦州电商网站建设wordpress地图在哪
  • 网站开发的费用属于什么科目网站设计O2O平台佛山总代理
  • 建设高校实验教学网站的作用如何开发wordpress
  • wordpress如何多用户成都纯手工seo
  • 广西钦州有做网站的公司吗广州公司注册流程及材料
  • 五大搜索引擎 三大门户网站软件班级网站建设主题
  • 可以自己做效果图的网站h5网站开发框架
  • 兰州高端网站建设自己可以做视频网站吗
  • 百度 模块网站手机上怎么制作app软件
  • 飓风算法受影响的网站怎么做一种网站为别人宣传
  • 南京网站建设费用望野千枝叶
  • 膜结构网站推广怎么做平台网站建设开票开什么内容
  • 巴中网站建设天仁云网站自动化开发
  • 网站怎么做移动端适配用手机如何制作简历
  • 网站建设督查工作主持词一键优化什么意思
  • dede 两个网站图片路径闲鱼网站如何赚钱
  • 淘宝美工网站怎么做中国建设住建网站
  • html展示网站源代码wordpress每段不同图片
  • 网站备案是什么购物网站前台功能
  • 网站logo是什么意思广西建设厅网证件查询
  • 哪个网站可以找设计师做设计师劳务公司注册
  • 网站建设制作价格品牌建设对企业发展的重要性
  • 建行网站会员是什么十大影视传媒公司
  • 舒城县重点工程建设局网站企业名录2019企业黄页