Spring 依旧是 Java 的主流框架吗?

2016-10-10 17:01:37 +08:00
 Iuranus

10 年接触 Java ,之后的两三年主要用当时颇为热门的 SSH2 做项目,但是 Struts 因为安全问题被诸多公司打入冷宫。后来因为工作环境,主要使用 Python 进行数据挖掘相关工作,也没有较多的时间去探究 Java 这些 Web 框架的发展和趋势。 想了解下目前 Spring 依旧是 Java 的主流框架吗?以 Spring Boot 为代表的微框架前景又是如何,听说社区还挺活跃的。

还是不想放弃 Java 。

8722 次点击
所在节点    Java
22 条回复
lonenol
2016-10-10 17:06:26 +08:00
现在已经不是主流,而是标配了..
Sharuru
2016-10-10 17:16:18 +08:00
三分钟前才在 IDEA 里开了个新的 Spring-boot-starter 的项目(
ljcarsenal
2016-10-10 17:16:38 +08:00
感觉楼主转变主力工作语言,方向很容易的样子啊。。
jlkm2010
2016-10-10 17:41:53 +08:00
自从开始工作,就是 spring 全家桶,去年开始用 springboot
riverphoenix
2016-10-10 17:44:10 +08:00
三年前面试阿里问了一堆 spring 的问题,前一阵去面试,恍惚回到了三年前
Iuranus
2016-10-10 17:46:19 +08:00
@lonenol 一词之差,哈哈~
Iuranus
2016-10-10 17:46:49 +08:00
@Sharuru 三分钟搭建一个 SpringBoot 项目?
Iuranus
2016-10-10 17:48:13 +08:00
@ljcarsenal Python 上手相对简单,没有 Java 那般需要储备很多知识。用 Python 真的是把语言当工具,能实现算法和策略就行。
Iuranus
2016-10-10 17:49:09 +08:00
@jlkm2010 听说 SpringBoot 目前坑还是挺多的,毕竟还在不断发展
Iuranus
2016-10-10 17:51:02 +08:00
@riverphoenix 请描述下 AOP 的含义?
Guozi1989
2016-10-10 18:20:04 +08:00
Spring Boot 已经相对成熟了,只是更新比较频繁。
twogoods
2016-10-10 18:32:21 +08:00
springboot 只是简化了 spring 的配置,启动也方便了,为什么它就跟微服务联系到一起了?
woojuno
2016-10-10 18:46:30 +08:00
有什么能撼动 spring 框架的吗?
qian0206
2016-10-10 19:19:34 +08:00
@twogoods 因为 spring-boot 开发减少了很多配置开发效率大大提高,对于微服务来说,粒度那么细,每个应用都要配置一堆东西那就太复杂了,加上能够和 spring-cloud 有很好的集成, spring-cloud 的很一套微服务的解决方案
hantsy
2016-10-10 20:06:35 +08:00
Spring 核心的东西不多,常见的 Spring Boot , Spring MVC , Security , Batch , AMQP , Integration , Spring Data ( JPA , Mongo , Redis , Elasticsearch , Solr , CouchDB 等), Spring Social , Spring Session 等。

但近两年 Spring 下面的衍生的第三集成产品多于牛毛,很多与 Spring 本身技术上关系不大,只是可以利用 Spring 简化一些集成工作,特别是 Spring Cloud , Spring Cloud Data Flow , Spring Cloud Stream 下面为适应用 Cloud 开发,集成了流行的开源工具, Netflix OSS , Apache Zookeeper , Moses ,等,产生了数十个小项目。

Java EE 经过 5 , 6 , 7 三个版本不断改进, 本身越来越轻量, CDI 的设计个人觉得比 Spring IOC 舒服得多(实际上 Spring 4.x 的最新版本一些 IOC 改进都是 Copy 了 CDI ,如 [Meta annotations, Generic type injection, 参考 我的例子]( https://github.com/hantsy/spring4-sandbox/wiki), injectionPoint , 这些已经在 CDI 存在很多年,直到现在 Spring 4 才慢慢 Copy )。除了 IOC ,其它标准上的东西没什么好比较的,只是用法配置上有些不同,从 Transaction, JPA, Web(Spring 有 MVC , JavaEE 标准 JSF 也可在 Spring 中使用), JAXRS ( Spring 可以用 MVC 实现,也支持 JAXRS ), Bean Validation 等。 Apache DeltaSpike 简化了很 Java EE 操作。 Wildfy Swam 也作了大量 Netflix OSS 相关项目集成。

至于什么地位,没必要去相互打口水战。

我一向的观点,掌握 Java EE 标准是 Spring 开发的基础。任何从事 Java 开发的人都应该从阅读 Oracle 官方 Java 教程和 Java EE 教程 开始,全面了解一下 Java 体系。
sheep3
2016-10-10 20:07:26 +08:00
@twogoods Spring Boot 和 Spring Cloud 集成很方便
wingyiu
2016-10-10 22:10:22 +08:00
随便翻开一个 spring 教程, 2/3 是配置代码...boot 也没好到哪里去
Allianzcortex
2016-10-10 22:18:37 +08:00
楼主说的什么都好,但什么叫做 Java 比 Python 需要更多的知识储备?最近就在写 Java , verbose 不是白说的,但确实是事实上的工业标准啊
winglight2016
2016-10-11 16:19:30 +08:00
我有四五年不用 spring 了,现在如果用 java 做 web ,首选 playframework
q397064399
2016-10-12 09:04:37 +08:00
@winglight2016 spring mvc 依旧业界主流

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/311665

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX