进入新公司已经差不多三个星期了,上次一篇文章有很多朋友的评价,有鼓励的,当然也有踩的,没关系,在这个世界,你不可能让所有人都高兴的。有人鼓励,说明他们和你一起在努力,一起向着自己的目标奋斗;有人踩,说明你可能做得比他们好,他们千方百计靠踩低你来获得快感。
三个星期来一直维护着以前的一套旧系统,不是用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毕设项目-ssm框架基于ssm框架的农业信息化服务平台的设计与实现+vue+源代码+数据库+论文 Java毕设项目-ssm框架基于ssm框架的农业信息化服务平台的设计与实现+vue+源代码+数据库+论文 Java毕设项目-ssm框架基于...
【Java毕业设计课程设计】JAVA SMART系统-系统框架设计与开发(源代码+论文) 【Java毕业设计课程设计】JAVA SMART系统-系统框架设计与开发(源代码+论文) 【Java毕业设计课程设计】JAVA SMART系统-系统框架设计与开发...
本文总结了Java网上购物系统论文的主要内容,涵盖了系统总体功能框架图、前台功能模块划分图、后台功能模块划分图等方面的知识点。 系统总体功能框架图 系统总体功能框架图是指整个系统的功能架构图,旨在展示系统...
Java 集合框架(JCF:Java Collections Framework)之概述 Java 集合框架(JCF:Java Collections Framework)是 Java 语言中的一组类库,用于实现集合操作的统一标准。集合是计算机科学中的一种基本概念,来源于...
JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART系统-系统框架设计与开发(源代码+论文).JAVA SMART...
JAVA SMART系统-系统框架设计与开发(源代码+论文) new JAVA SMART系统-系统框架设计与开发(源代码+论文) new JAVA SMART系统-系统框架设计与开发(源代码+论文) new JAVA SMART系统-系统框架设计与开发(源代码+论文) ...
工程教育专业认证背景下《Java框架SpringMVC》实验教学改革探索 摘要:工程教育专业认证关注于培养学生的实践能力,特别是解决复杂工程问题的能力。本文以软件工程专业课《Java框架SpringMVC》的实验教学改革为切入...
【基于Java SSH框架设计网上商城】的开题报告主要探讨了如何利用Java企业级开发中的Struts、Spring和Hibernate(SSH)三大主流框架构建一个网上购物系统。SSH框架的运用旨在提升系统的可扩展性、效率和安全性,以...
3. **并发集合框架**:Java并发库(java.util.concurrent)提供了并发友好的集合,如ConcurrentHashMap、CopyOnWriteArrayList等,它们内部实现了线程安全,减少了开发者在并发环境下的同步工作。 4. **...
基于Java开源项目的J2EE应用框架实现(论文).kdh
《JAVA SMART系统-系统框架设计与开发》是一个深入探讨Java技术在构建智能系统中的应用的资源包,包含源代码和相关论文。这个压缩包旨在帮助开发者理解和实践如何使用Java技术来构建高效、灵活且可扩展的系统框架。...
JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA SMART系统-系统框架设计与开发(源代码+论文)(1)JAVA...
根据提供的文件内容,本文将介绍Java框架入门相关的知识点,包括但不限于Struts2、Spring、Hibernate等主流...在进行Java框架学习时,理解这些知识点是至关重要的,它们为开发企业级Java应用提供了强大的工具和方法论。
本项目是一个基于Java框架SSM(Spring、SpringMVC、MyBatis)的失物招领信息交互平台的设计与实现,结合了Vue前端技术,为计算机相关专业的学生提供了一个完整的毕业设计或课程设计资源。项目源码、数据库脚本及详细...
本文主要分析了Java与数据库应用框架之间的联系,设计了基于Java的数据库应用框架模型,并通过实例分析了该框架设计的细节。 首先,分析数据库与应用框架的联系是理解Java数据库应用框架设计的基础。在软件开发中,...
常见的Java框架有Spring、Struts、Hibernate等,它们能帮助开发者快速构建应用程序,提高开发效率并确保代码的可维护性。 3. **Spring框架**:Spring是Java中最流行的框架之一,用于简化企业级应用的开发。它提供了...