当前位置: 首页 > 后端技术 > Java

JavaEE之SpringFramework初探(说)

时间:2023-04-02 01:21:25 Java

SpringFramework我的小站一定是针对Java程序员的,Spring这个词并不陌生,如果你刚学完Java基础又想开始学习框架,你可能需要好好了解一下。毕竟知己知彼,百战不殆。Spring框架有两个概念。你可以把它想象成Spring全家桶,其中包括Spring、SpringMVC、SpringBoot、SpringCloud。也就是说,他是一个独立的Spring框架。Spring是最流行的企业Java应用程序开发框架。框架计算机的发展非常快,诞生了很多语言,但是每种语言或多或少都有一些缺陷,也许是使用起来太复杂,也许是缺少一些编程设计,又或者是太复杂了。太麻烦了,所以一代又一代的更新和创造,在原有语言(native)的基础上,封装了一些方法,设计了很多模型,简化了很多工具,甚至创造了一个生态。比如在原生JavaScript的基础上,TypeScript是原生的扩展,JQ是在原生基础上创建的库,Vue是强大的生态框架。Spring的诞生正是为了弥补原生JavaEE耦合度高、复用性差等缺点。用于创建高性能、易于测试、可重用代码的Spring框架。Spring开发Spring的开发起源可以追溯到2002年,JavaEE和EJB的鼎盛时期。在当时,这已经是一个非常好的设计了。然而,历史往往不缺少有思想、有创造力的人。美国有个年轻人觉得EJB太臃肿了。因为这个系统对于很多项目来说似乎过于臃肿。不够轻!罗德约翰逊就是这个有想法的人。2001年10月写了一本书《Expert One-on-One J2EE》,介绍了当时Java企业应用开发的情况,指出了JavaEE和EJB组件框架的一些主要缺陷。在本书中,他提出了一种基于普通Java类和依赖注入的更简单的解决方案。在书中,他展示了如何在不使用EJB的情况下构建高质量、可扩展的在线座位预订系统。为了构建这个应用,他写了3万多行基础设施代码,项目中的根包名为com.interface21,所以人们最初称这个开源框架为interface21。从名字就可以看出这个框架注定是不平凡的,它的寓意是:21世纪的参考。或许是因为RodJohnson不仅是计算机领域的天才,还拥有音乐学博士学位,所以春天往往充满了艺术审美。这种设计模式和开发在本书出版后一炮走红。本书中免费提供的大部分基础设施代码都具有高度可重用性。2003年,RodJohnson和他的伙伴们在这个框架的基础上开发了一个名为Spring的新框架。按照RodJohnson的说法,Spring对于传统的J2EE来说是一个新的开始,随后Spring的发展进入了快车道。2004年3月,发布了1.0版。2006年10月,发布了2.0版。2007年11月更名为SpringSource,同时发布Spring2.5。2009年12月,Spring3.0发布。2013年12月,Pivotal宣布发布SpringFramework4.0。2017年9月,Spring5.0发布。Spring为何强大——一个旨在构建JAVA应用程序的轻量级框架。您可以使用Spring构建任何程序,而不仅仅局限于编写WEB应用程序。“轻量级”并不是说类的数量少,或者分布大小小,实际上,它指的是Spring哲学的总称——即最小入侵。Spring是一个开源框架,旨在解决企业应用程序开发的复杂性。分层体系结构允许您选择要使用的组件,同时为J2EE应用程序开发提供集成框架。关于三层架构,可以看我的文章:APresentationlayerweblayerMVC是表示层的一种设计模型BBusinesslayerServicelayerCPersistencelayerDaolayer说说三层架构入侵最少?“入侵”这个词可能会有疑问。解释一下,Spring中的侵入式和非侵入式。侵入式的做法是要求业务代码“知道”框架的代码,也就是说业务代码需要继承框架提供的类,才能和框架很好的集成,使用框架带来的便利.也就是有耦合,有依赖,但是提供了方便的环境。非侵入式不需要业务代码引入框架代码信息,即不需要继承框架提供的类。从作者的角度来看,框架的存在是不知道的。总之,这两种方式各有优缺点,主要看实际开发时的权衡。Spring的定义是非侵入式的。非侵入式技术的体现是允许Spring框架的各个功能模块在应用系统中自由选择和组装,并不强制要求应用系统的类必须继承或实现Spring框架的类和接口使用Spring框架来达到使用框架的目的。Spring还有很多特点:方便的解耦,简化开发,方便的集成各种优秀的框架(Struts2,Hibernate,MyBatis),降低JavaEEAPI的使用难度,方便的程序测试(方便的注解),AOP编程支持声明式事务支持Spring翻译过来就是春天的意思。一个想法,一个创造,开启了一个时代,一个框架,承载着Java发展的繁荣。最后,在这个时代,似乎很多创意都被抹杀了。希望有想法的人能够走下去,再创辉煌。