先学框架=不注重基础?
这是我最近思考的一个问题。
我们都知道jsp和servlet是j2EE的一个基础,大多数人在学习经典的SSH框架之前,都会先接触过这两个技术,但是要掌握到什么程度呢?一定要用到滚瓜烂熟为止吗?前些天和同学讨论了下这个问题。
我想大多数接触这种基本技术的多是新手。如果非要将servlet里面各种监听器、传参用的response和request等等弄得很透彻,估计很快就失去信心了~jdbc的各种设置也是让人觉得很崩溃~但是这并不是说我觉得它们不重要,相反,我觉得它们太重要了,它们是一切框架的基础。我只是觉得我们在学习的初期大致地接触了这些基本技术后,是不是应该先从框架入手,过了一段时间再反过头来看看这些基础呢?
我做web的时间虽然不长。从大一开始学web,现在大二,跌跌撞撞也用过了不少框架,只是刚开始学习的时候小用了一段时间的servlet和jsp。对web方面的学习和理解其实很大程度上是从使用这些框架开始的。和大多数人一样,我也是从ssh框架开始学习的。第一次用struts2,给我印象比较深刻的是对url的一个合理规划以及MVC的思想。后来用了hibernate,第一次了解了什么是ORM框架,同时我也开始关注cache,开始关注一个站点的性能问题。无奈当时才学甚是浅薄(现在也只是稍微好了一点点~~),无法把握缓存,导致当时做的东西水的不行。后来无意中发现了另一个ORM框架mybatis,我才开始注意到有很多框架原来是可以被其他的框架替代的,由于mybatis中需要自己写很多的SQL语句,在使用mybatis的过程中,我开始不断地强化自己写原生SQL的能力,这时我开始原生的SQL的一些性能问题。在此之后,我开始学习spring,我觉得spring算是目前为止java世界中最佳一个的框架了,通过ioc和aop,对整个项目的控制让以前一些比较零碎的功能和看起来分开的框架看起来像一个整体了。
但是,我不得不说到现在为止,我觉得对我影响最大的框架并非来自java世界的某个框架,而是ruby的rails框架,在用过rails后,我开始思考和注重一个网站的架构应该怎么规划才算合理,包括它的restful风格让我开始关注http协议本身,它所倡导的敏捷开发等等东西都给我很多的思考。我将rails中很多优秀的思想用到java的项目中去,之前很多纠结的问题(比如怎么规划文件的目录等等问题)都看起来不再那么麻烦。
框架开发带来的诱惑是巨大的,它帮助我们轻松快速地构建一个网站,在使用这些框架的过程中,我学习了http协议,关注了不同的数据库的性能,开始去理解一个网站的架构,思考如何开发一个高性能的站点,现在再回过头去看servlet和jdbc,原先很多非常生涩的东西都很容易就看明白了。
这样看来简单地学过基础知识,先学过框架,再回过头去看不是很好吗?
这篇文章不长,算是我对过去相当长一段时间学习的一个思考,这应该也算是一个对先学习基础还是先看到效果这样的问题的思考,不同的人也许对这样的问题会有不一样的看法,也许人在不同的阶段也会有不一样的答案。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?