首先,没有spring还会有其它框架。
另外,我从1999年开始做Java开发,那个时候基本没有什么第三方框架和lib,所有东西都自己封装,在spring出来的时候,我们已经有了类似spring的框架以及orm等一系列lib。所以问题不是问题
很显然,没有Spring,Java就会被人所遗弃,这是个伪命题。自从1995年,Java问世以来,它的定位就不单单只是开发Web应用。除了Web应用,它还能够开发基于手机的应用,如Android等;还能够开发数据库,如Oracle等。而且,可能题主并不知道,在Spring前,我们开发Web应用主要是基于SSH框架,现在基本也没人使用了,Java却仍然是我们主流开发语言之一。所以,即使没有了Spring,也会出现更加优秀的web框架供我们使用,题主的这个疑虑,显然是不可能的。
从我的角度判断Java在短时间内绝对不会被淘汰。这个时间至少是10年,甚至更长。
从最早的C语言面向过程,到后来的以java和c++为代表的面向对象。面向对象的语言已经发展成熟,并深入到社会上的各个领域。java语言广泛应用于互联网、移动互联网、物联网、各种嵌入式设备以及各种软件系统中,行业涉及从贸易、银行、*、军事、航天到各种新兴产业、电子、通讯、O2O、大数据等社会各个角落。而在java语言应用的各个场景中,不使用Spring作为基础框架的有很多,Spring仅仅是为了简化Java开发,管理类生命周期以及便于集成各种技术的框架而已,它根本无法撼动Java的地位。
当然,Java总有一天也会面临被淘汰的局面,但一定会有一个新的划时代的编程思想的出现。
不会。举例子,不用spring,写Java就像自己开车装东西去卖,自己装车,自己开自己找顾客;而用Spring后,相当于找个小弟,他帮你装车,帮你找顾客,你只需要关注开车,收钱。这其实正代表Java是工业化语言,尽量规范,智能。而其它语言没有这,也代表工业礼程度不够
从发展史来说,java起步后,想法特别多,啥都想干,不知道北了。曾经的j2se j2ee j2me 野心大得狠。实际效果很差。j2me怎么看怎么是个搞笑的产品,或者说生错时代。
j2ee其实不错,就是曾经的实现太学院太复杂,在10多年后的今天依然很复杂。所以自己把自己淘汰,spring恰好在ejb2倒台时开始发力,其实java有学院派的j2ee实现,glassfish,太死板,还是比较复杂。最后spring简洁并且符合企业级标准胜出。
springdata和nosql结合,也是保持spring优势。如果还是关系数据库,springdata没啥优势。
到了现在,如果没有spring,估计java,还会有人用,但是会觉得不好用,麻烦。
语言发展时,说明太复杂会把自己玩死。总想把自己做完善,没考虑用户接受程度。
c语言作为元老派,现在很沉稳,轻易不折腾。
c++一直火力旺,所以折腾得特别厉害,用的人越来越少,容易把自己折腾死。
java8不错的进步,java9弄个模块,就有点折腾大了,使用起来感觉不像java了。
这个问题非常有意思,如果没有spring这个Java里数一数二的优秀框架,Java确实会落后不少。下图是spring框架的结构图:
因为作为Java程序员,尤其是搞web后端的开发者,几乎是离不开spring框架的。spring框架带来的依赖注入和面向切面的特性简直让Java系统走上了智能高效的道路。
自从有了spring框架,处理Javabean一切都是那么贴近面向对象编程的奥秘。如果抛开spring框架,其实对Java的影响也只是停留在web系统方面,而Java不仅仅涉猎于此,还有安卓开发,大数据生态圈,Java都是主力军,而这些分支并没有依赖于spring框架,他们是依赖于Java的语言魅力。
因此,Java如果没有spring框架,一样可以横行编程界,记得有句经典的话,“设计模式的存在是为了弥补Java语言的缺陷”,其实spring框架的内容包含了很多设计模式的道理,实际上spring框架在某种程度上确实弥补了Java语言自己没有带来的好处,但是既然是基于Java语言的框架,也不能说spring可以单独从Java里抽离出来。
关注“极客宇文氏”,一名有料的软件工程师。
作为一名从业多年的IT人,我曾长时间使用Java进行软件开发,同时也出版过Java编程书籍,所以我来回答一下这个问题。
要想了解Spring框架对于Java语言的重要性,首先要了解Java语言的发展历程。Java语言的快速发展经历了四个重要的阶段,每个阶段都让Java获得了大量的用户从而逐渐形成了一个庞大的Java生态。
Java语言的第一次快速发展得益于Applet,Applet是以浏览器为运行容器的展现层技术,但是Applet能做更多的事情,这在以静态资源为主要呈现形式的Web Site阶段,Java给了技术人员更多的可能性,也因此得到了广泛的使用。当然,Applet需要感谢Netscape。
Java语言的第二次快速发展得益于JSP/Servlet技术,JSP/Servlet技术让Java的性能得到了充分的发挥,在与CGI技术的对比中,JSP/Servlet技术无论从性能上还是扩展性上都占据了明显的优势,从而奠定了Java在Web开发领域的地位。由于Java天然的多线程属性以及分布式开发属性,使得Java在后端开发领域得到了广泛的应用,一直到今天。
Java语言的第三次快速发展得益于开源框架,这些开源框架包括Struts、Hibernate、Spring等,其中Struts系列解决了MVC结构的问题,Hibernate解决了DAO结构的问题,而Spring则解决了JavaBean容器的问题,这三个流行框架中唯有Spring提高了执行的效率(需要一定的规模),而且相比于EJB,Spring更轻也更好用,所以Spring得到了广泛的使用。
虽然Spring解决了很多问题,而且是关乎性能的问题,但是应该说是Java给了Spring发展的机会,而不是Spring给了Java机会,因为如果没有Spring,Java的企业级开发也有其他方案,Spring解决的问题只是方便,还算不上创新。当然,今天的Spring家族已经非常庞大了,庞大到Spring自己都看不下去了,所以推出了Spring Boot来解决一下复杂的配置问题。
Java语言第四次快速发展得益于Android系统,由于Android系统的采用,使得在移动互联网时代Java依然非常活跃。从未来发展的趋势来看,Java语言将依然有广泛的应用场景。但是目前Python、JavaScript和Go语言的上升趋势也比较明显,对于程序员来说,应该重点关注一下,尤其是Java程序员。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!