进入新公司已经差不多三个星期了,上次一篇文章有很多朋友的评价,有鼓励的,当然也有踩的,没关系,在这个世界,你不可能让所有人都高兴的。有人鼓励,说明他们和你一起在努力,一起向着自己的目标奋斗;有人踩,说明你可能做得比他们好,他们千方百计靠踩低你来获得快感。
三个星期来一直维护着以前的一套旧系统,不是用JAVA的,是.net的。开发人员都有语言情节,换一个语言肯定都是不怎么爽的。当然,我也不例外,看着.net千万种不爽的理由,当然,不是对.net本身,而是对那个项目的架构,总而言之,架构比较混乱。这些就不管它了。
这段时间正在考虑要用JAVA重构项目,公司内部基于play framework1.x开发了一个框架,没有事务处理,没有session处理,完全自己搞定。又是一个学框架的时期了。
话说在JAVA这个世界,什么都缺,缺高手,缺架构师,缺好代码,但就是不缺框架,每天总会有人开发框架,也总会有人在讨厌哪个框架好,哪个框架不好,各个框架的开发效率怎么样。
说说最多人用的SSH或SSI吧,现在用的比较多的应该就是struts2.x+spring3.X+hibernate4.X或hibernate3.X了吧,mybatis用的人也有,方便有DBA的公司。
来看看SSH和SSI的优点吧:
1)spring IOC很牛叉,管理对象,使我们免于一系列的对象依赖处理中
2)struts2相对于struts1有很多改进,dispatcher等等好像还蛮好用的(2接触得不多,这里就不多说了)
3)hibernate这个几乎是JAVA界的ORM典范,这个相信大家都知道它的好处了,缓存管理,对象和表的映射,这些都足已让我们投入它的怀抱。
4)mybatis或者ibatis,对于存在DBA的公司,可以在SQL语句上面进行相当精度的调优,这个是比hibernate好的地方,缓存那些基本都差不多。
5)代码规范,SSH或SSI框架实现的架构,基本上是4层,或更多层数,具体看定义,在代码的实现上面比较统一,看起来也比较舒服,方便以后的维护。
当然,有优点肯定也有缺点:
1)学习成本,三大框架,说明是了“大”框架,突出在大,学习成本肯定不低,特别是要深入的时候,三个框架,随便一个都可以花费巨大的精力。
2)运用了orm框架的系统,在SQL语句上面可能没有直接JDBC上那么灵活,不能方便DBA或者相应的数据库人员进行调优。
框架学习,不是什么大问题,但一直的框架学习,而不去深入框架的思想,这才是我们开发人员最大的问题。有人喜欢去深入源代码,有人喜欢去学习一些框架,只是泛泛地使用,用完就算,但在有必要的时候会去看源代码;但另外有一些人,只是泛泛地使用,CTRL+C,CTRL+V搞定代码问题。在现在的商业社会中,泛泛使用,没什么错,毕竟我们工作中,不可能都需要专业人员,有些公司只需要一些会使用工具的人。前几天看过一篇文章,是淘宝的玉伯写的一篇文章:我眼中的技术高手——https://github.com/lifesinger/lifesinger.github.com/issues/126这里,他正在说明了一个问题,就是泛泛地使用,在必要的时候去查看源代码,这样比单纯地为了看源代码而看源代码的效果好。
各个公司有各个公司的框架,不可能每个公司都用同一个框架。在我看来,真正可以把JAVA那些比较重要的内容吃透的人,学哪个框架都不是问题,比如把并发,IO,反射这些都深入了解的话,IOC框架也可以自己写一个,另外,分布式那些很深入的话,hadoop那些快速入门也没什么问题的(hadoop太复杂了,这个感觉不大属于实用的环节,我们就没必要去说写一个了)。一个语言的比较难的地方就只有那么几个地方,只要深入那些要点,其实都可以很不错的,不说找好工作,起码找工作是不用愁的了,因为框架的使用都不是问题,并且你知道一些框架的实现原理,使用就更不是问题了,只要翻翻使用手册就OK了。
框架,只是一个工具,而框架的实现思想,内部实现机制,语言的要点,这才是我们需要去深入的。想想自己之前也是一直徘徊在学框架的使用上,一直没有想着怎么去深入框架内部的实现思想上,我们不需要去深入它的代码实现,但我们需要知道它的实现思想。思想和代码实现,这是一种方式上的体现,我们不需要拘泥于代码的实现。比如IOC框架有spring和guice和另外的一些其他的框架,他们的实现代码不一样,但思想都是差不多的,都是依赖注入的思想,由容器来控制对象之前的依赖关系,只要我们理清思想,代码实现只是一个时间的问题而已。此时,如果我们想深入它某一块的实现,这里再去看代码,就可以有针对性地看,这样比我们泛泛地去看效率要高得多。
希望各位和我一起徘徊在框架使用学习的朋友,调整一下心态,深入框架的思想,让我们一起做不平凡的开发者。
相关推荐
【Java毕业设计】基于Java的超级玛丽游戏的设计与实现(论文+答辩PPT+源代码+讲解视频).zip 【Java毕业设计】基于Java的超级玛丽游戏的设计与实现(论文+答辩PPT+源代码+讲解视频).zip 【Java毕业设计】基于Java的...
JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART...
JAVA SMART系统-系统框架设计与开发(源代码+论文) new JAVA SMART系统-系统框架设计与开发(源代码+论文) new JAVA SMART系统-系统框架设计与开发(源代码+论文) new JAVA SMART系统-系统框架设计与开发(源代码+论文) ...
基于Java开源项目的J2EE应用框架实现(论文).kdh
JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA...
用java写的图书管理系统。用来做毕业设计不错,不过论文可得自己搞定了。
工程教育专业认证背景下《Java框架Spring MVC》实验教学改革探索.pdf
JAVA SMART系统-系统框架设计与开发(源代码+论文)(1).zipJAVA SMART系统-系统框架设计与开发(源代码+论文)(1).zipJAVA SMART系统-系统框架设计与开发(源代码+论文)(1).zipJAVA SMART系统-系统框架设计与开发(源代码+...
本文按照SMART系统的非功能性需求,基于Struts、Spring、Hibernate三种开源技术,构建了一个具有良好的可扩展性、可维护性、可靠性的系统框架。整个系统的框架分为三层,分别为表现层、业务层和持久层。 本系统的...
基于Java的超级玛丽游戏的设计与实现论文java源码文件+视频说明,超级玛丽小游戏的JAVA程序,进入游戏后首先按空格键开始,利用方向键来控制的马里奥的移动,同时检测马里奥与场景中的障碍物和敌人的碰撞,并判断...
JAVA SMART系统-系统框架设计与开发(源代码+论文).rar java Smart系统-题库及试卷管理模块的设计与开发(源代码+论文).rar java一个简单的即时通讯工具的设计与开发(源代码+论文).rar JAVA五子棋手机网络对战游戏的...
基于ssm框架的校园疫情管理系统的设计与实现论文-基于ssm框架的校园疫情管理系统的设计与实现-论文-java-文档-ssm 论文: !!!本文档只是论文参考文档! 需要项目源码、数据库sql、开发文档、毕设咨询等,请私信...
适合练手、课程设计、毕业设计的Java项目源码:系统框架设计与开发(源代码+论文).rar 适合练手、课程设计、毕业设计的Java项目源码:系统框架设计与开发(源代码+论文).rar 适合练手、课程设计、毕业设计的Java项目...
**JAVA SMART系统:系统框架设计与开发** 本资源提供了一个全面的JAVA SMART系统框架设计与开发的源代码及相关论文。JAVA SMART系统是一个具有高度可扩展性和可定制性的企业级应用解决方案,旨在满足各种复杂业务...
毕业论文设计-IT计算机-JAVA SMART系统-系统框架设计与开发(源代码+论文).zip
JAVA SMART系统-系统框架设计与开发(源代码+论文)(1).rarJAVA SMART系统-系统框架设计与开发(源代码+论文)(1).rarJAVA SMART系统-系统框架设计与开发(源代码+论文)(1).rarJAVA SMART系统-系统框架设计与开发(源代码+...