
计算机
作为一个从非
计算机专业大专转行、在IT行业摸爬滚打了十多年的老兵,看到这个问题时,真是哭笑不得。一方面觉得好笑,另一方面又忍不住生气。为什么觉得好笑?因为现在的
招聘要求、
面试内容、培训机构课程以及网上的教程,几乎都跳过了Servlet/
JSP这些古董技术,直接奔向更现代的框架和工具。坚持教授Servlet和
JSP的
大学也越来越少了。而那些还在使用Servlet/
JSP的岗位,基本上都是月薪几千块的低端职位。经过十年的发展,
Java已经进化成了这样一门语言: 1. 对低学历、低技术水平的人来说,门槛越来越高,越来越难以触及; 2. 更加专注于业务开发与架构设计,程序员更多时候是在搭建业务逻辑,而不是折腾底层实现; 3. 基础设施极其完善,几乎所有需求都有现成的开源解决方案; 4. 每个人都可以大谈特谈高可用、高并发、高性能等高级概念。 现在居然还有人问我:我们能不能抛弃
Spring Boot、
Spring Cloud、
Spring Cloud Alibaba、K
Ubernetes等现代技术,重新回到用Servlet/
JSP的时代?这让我既无语又无奈。让我生气的是,回想当年,我也曾经历过类似的事情。那时候我用Servlet/
JSP手写MVC模式,结果
面试官冷冷地说:这玩意儿没用了,现在大家都用Struts2,你的代码完全被秒杀。别人开源框架可是经过了几千万人的测试,质量比你的好几万倍,难道你还敢说你写的代码没有Bug? 后来,我尝试用反射实现IOC(控制反转),实现了依赖注入,觉得特别优雅,仿佛进入了共产主义的美好世界。但
面试官却告诉我:现在都用
Spring Framework了,你这个东西早就过时啦!如果你连
Spring都不知道,再过两年恐怕连工作都找不到。 接着,我开始大力推广注解,认为配置文件太繁琐、太落后。然而,
面试官却反驳道:注解不够灵活,完全是硬编码!你的代码完全没有考虑配置的概念,稍微复杂一点的项目就会让你累死。 还有SOAP协议,我记得当时觉得它名字听起来简单,但实际上是一堆让人头疼的
XML结构。我想,为什么不直接用
JSON?结果
面试官教训我说:SOAP是企业级协议,专门用于大型企业的复杂通信场景。你看,点一下Eclipse,一键生成Web Service服务端,再点一下生成
客户端代码。记住,不要用JDK自带的工具,要用Apache CXF。把
客户端代码复制到需要调用的地方就可以了。 至于Apache Camel作为企业总线,配合ActiveMQ进行消息传递,我当时也提出了疑问:如果这个总线挂了,那整个系统不就全
瘫痪了吗?
面试官却反驳道:这玩意儿能这么容易挂吗?你不懂就别乱说。企业总线可以极大地简化架构,新增一个服务只需要在总线上做配置,所有服务都能自动集成。ActiveMQ兼容性极强,扩展性非常好,几乎可以支持你能想到的所有场景。 如今,这些为了技术而技术的东西已经逐渐被淘汰,取而代之的是更加高效、更加现代化的解决方案。而现在,居然还有人提出要回归Servlet/
JSP这样的老古董技术,这不是在开玩笑吗?