读书人

关于JAVA框架的思忖

发布时间: 2013-07-20 11:07:48 作者: rapoo

关于JAVA框架的思考
目前的JAVA 企业级开发框架,我们常用的大致包括IOC AOP MVC ORM框架
1、 IOC spring是一个非常棒的ico容器,其思想非常简单,用一个集合对象如MAP 来缓存对象(对象都是单例的),这也就是spring 所说容器内单例,它和java中的单例模式的区别在于单例模式是在当前java进程中保持单例,因为它有三个必要条件:private static 自身对象、private 构造方法、public static getInstance()方法,以保持在进程中单例,而spring只能保证在容器中单例,用户是可以手动再new出其他对象的。所以这部分如果为了简单可以不使用spring的ioc框架以单例模式替代,减少spring的jar包,缺点是可维护性和扩展性较差。或自己写一个ico容器以实现spring的ico功能。
2、aop aop的实质是动态代理模型,框架包括spring、AspectJ等,当然最行的是spring, spring有两种实现形式,一种是jdk的动态代理,一种是cglib字节码框架(比jdk的反射要快,其asm框架实现),典型的场景是数据库事务,个人感觉aop的应用其实可以去掉。可维护性并没有提高,反而变更复杂。aop事务是在threadlocal是以threadlocal为基础的。关于aop去或留希望各位讨论。
3、mvc框架 spring mvc struts2 这两个框架相比:spring mvc的思想还是比较先进的,因为struts2的action bean不是单例的,每次通过反射new出一个对象,性能会相对较低。而spring mvc controller是单例的,继承至servlet类(单例多纯种)。它的实现思想的是方法参数的注入。两个都支持模型驱动。spring mvc有一个缺点,注解的配置模型全部用的java反射。性能也会有影响。两者都支持注解,个人认为xml要好于注解,开发阶段注解要优于xml,因为方便,而维护起来可能会比较麻烦,尤其是对刚接手项目的新人。最好的方案是取两者之长,去其缺点,保留spring的单例通过方法注入,注入时将jdk反射去掉,换成asm的注入思想,以提高性能。
4、ORM框架 hibernate mybatis。hiberate是全自动的orm框架,优点是简单使用方便,但jar包很多,大数据SQL调优问题比较大。mybatis 由ibatis升级,半自动orm框架,需要手动写sql,优点是方便sql调试,缺点是对于简单的单表增删改也需要手动写SQL,比较麻烦。所以最好是结合两个框架的优点开发一个单表的增删改orm(不依赖SQL),复杂SQL可以直接通过JDBC这样可以提高性能。

没有拍,很难得你能继续这篇文章,有思考在里边的,很不错。你说的这个方式是一种解决方案,我也曾经考虑过,但对程序员这样要求,他不一定完全按要求做的。还有其他几方面,综合考虑这种情况xml还是好于annotation的。谢谢关注

是制度问题,我说了一种解决方案,请考虑其他下其他方面,谢谢 10 楼 zh_harry 昨天 加我QQ吧zh_harry@163.com
线下聊 11 楼 alexlx 昨天 注解配置方便,但是不够灵活;xml配置不方便,但是使用起来很灵活 12 楼 zh_harry 昨天 alexlx 写道注解配置方便,但是不够灵活;xml配置不方便,但是使用起来很灵活

xml便于维护,注解便于开发。 13 楼 alvin198761 24 小时前 一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗? 14 楼 JavaTear2014 23 小时前 alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?


高人! 15 楼 zh_harry 23 小时前 alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架 16 楼 zh_harry 23 小时前 zh_harry 写道alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架
再加一句,这么多人看过只有你提出这个问题,很棒!! 17 楼 Leon.Wood 22 小时前 zh_harry 写道zh_harry 写道alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架
再加一句,这么多人看过只有你提出这个问题,很棒!!
用别人的语言也没意思,咱自己写一个吧,来,扶清灭洋,走起 18 楼 sprite311 20 小时前 说的比较概括 要是能详细点就好了 19 楼 zh_harry 20 小时前 sprite311 写道说的比较概括 要是能详细点就好了
是比较笼统,你看一下我的开源架构,博客当中有,有源码都开源了,有什么不足的地方尽管提,尽快完善... 20 楼 bommeibo 19 小时前 Leon.Wood 写道zh_harry 写道zh_harry 写道alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架
再加一句,这么多人看过只有你提出这个问题,很棒!!
用别人的语言也没意思,咱自己写一个吧,来,扶清灭洋,走起
同意.希望1楼能开发出一个语言出来..不用任何框架的.所有功能都通过硬编码来实现..那就牛B. 21 楼 zh_harry 18 小时前 bommeibo 写道Leon.Wood 写道zh_harry 写道zh_harry 写道alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架
再加一句,这么多人看过只有你提出这个问题,很棒!!
用别人的语言也没意思,咱自己写一个吧,来,扶清灭洋,走起
同意.希望1楼能开发出一个语言出来..不用任何框架的.所有功能都通过硬编码来实现..那就牛B.
就是硬编码啊,一个框架都没有
http://lizhizhang.iteye.com/blog/1896545
看这个了吗? 22 楼 andy_ghg 16 小时前 zh_harry 写道bommeibo 写道Leon.Wood 写道zh_harry 写道zh_harry 写道alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架
再加一句,这么多人看过只有你提出这个问题,很棒!!
用别人的语言也没意思,咱自己写一个吧,来,扶清灭洋,走起
同意.希望1楼能开发出一个语言出来..不用任何框架的.所有功能都通过硬编码来实现..那就牛B.
就是硬编码啊,一个框架都没有
http://lizhizhang.iteye.com/blog/1896545
看这个了吗?
其实用框架的目的并不是因为他好学,简单。当一个项目需要许多人共同协作完成的时候,没有一个成熟稳定的框架,谁担这个责任?在业余的时候,我们可以自己写来玩玩,但是正式做开发,谁敢拍胸脯保证自己的框架符合实际条件?所以中国的IT现状不是框架造成的,而是大跃进式的开发造成的。现在有这么多现成的框架做参考,相信有几年开发经验的,自己写个框架都不是很复杂的事情。如果硬着头皮不参考别人的框架自己闭门造车,到底图什么?有这个造车的时间你完全可以做一点更有意义的事情。 23 楼 zh_harry 14 小时前 andy_ghg 写道zh_harry 写道bommeibo 写道Leon.Wood 写道zh_harry 写道zh_harry 写道alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架
再加一句,这么多人看过只有你提出这个问题,很棒!!
用别人的语言也没意思,咱自己写一个吧,来,扶清灭洋,走起
同意.希望1楼能开发出一个语言出来..不用任何框架的.所有功能都通过硬编码来实现..那就牛B.
就是硬编码啊,一个框架都没有
http://lizhizhang.iteye.com/blog/1896545
看这个了吗?
其实用框架的目的并不是因为他好学,简单。当一个项目需要许多人共同协作完成的时候,没有一个成熟稳定的框架,谁担这个责任?在业余的时候,我们可以自己写来玩玩,但是正式做开发,谁敢拍胸脯保证自己的框架符合实际条件?所以中国的IT现状不是框架造成的,而是大跃进式的开发造成的。现在有这么多现成的框架做参考,相信有几年开发经验的,自己写个框架都不是很复杂的事情。如果硬着头皮不参考别人的框架自己闭门造车,到底图什么?有这个造车的时间你完全可以做一点更有意义的事情。

你说的是对的,我的框架并不提倡用到实际项目中,目前还不完善。但对学习源码和编程思想还是有帮助的,对那些有代码洁癖的人,这样的框架还是很不错的,继续努力,大家多批评 24 楼 zh_harry 14 小时前 zh_harry 写道andy_ghg 写道zh_harry 写道bommeibo 写道Leon.Wood 写道zh_harry 写道zh_harry 写道alvin198761 写道一群用框架的人早就了中国IT行业的技术现状,一批用windows的人,早就了中国对windows的依赖的现状,

我不用框架,不用第三方jar,java开发照样继续,看到讨论框架还争来争去,想问一句,咱能自己写个框架,然后讨论自己的好不好行不,你说的好不好,都是别人的东西,有意思吗?
已经写了呀,看我的博客,并且已经开源了http://lizhizhang.iteye.com/blog/1896545
大家拍砖
上面说得这些思想全包括了,还在升级中,希望大家关注...
也希望小编小这编文件也推荐到首页,绝对原创,没有一个jar,0框架开发,我很喜欢你所说的。
这个框架的名字我给他叫sparrow
麻省虽小,五脏俱全,其实中国就应该用自己的框架
再加一句,这么多人看过只有你提出这个问题,很棒!!
用别人的语言也没意思,咱自己写一个吧,来,扶清灭洋,走起
同意.希望1楼能开发出一个语言出来..不用任何框架的.所有功能都通过硬编码来实现..那就牛B.
就是硬编码啊,一个框架都没有
http://lizhizhang.iteye.com/blog/1896545
看这个了吗?
其实用框架的目的并不是因为他好学,简单。当一个项目需要许多人共同协作完成的时候,没有一个成熟稳定的框架,谁担这个责任?在业余的时候,我们可以自己写来玩玩,但是正式做开发,谁敢拍胸脯保证自己的框架符合实际条件?所以中国的IT现状不是框架造成的,而是大跃进式的开发造成的。现在有这么多现成的框架做参考,相信有几年开发经验的,自己写个框架都不是很复杂的事情。如果硬着头皮不参考别人的框架自己闭门造车,到底图什么?有这个造车的时间你完全可以做一点更有意义的事情。

你说的是对的,我的框架并不提倡用到实际项目中,目前还不完善。但对学习源码和编程思想还是有帮助的,对那些有代码洁癖的人,这样的框架还是很不错的,继续努力,大家多批评再补充一点,不是闭门造车,参考很多开源代码的。
25 楼 windshome 13 小时前 我觉得:

框架当然有用,很多框架写得很好,体现了设计者的功力,但是现在框架的作用和使用泛滥,作用也被夸大了。

十多个表的系统,设计时争论什么Hibernate货IBatis,有点搞笑吧,一共不上40个页面,谈什么SpringMVC还是Stucts,何必呢?

我用传统的JDBC,简单的servlet/jsp,做的也很好,当然定了很多名字和业务的对应规范,写起来也很爽,开发起来也很快。(当然,即便不用什么框架,我也不会把业务逻辑写在jsp中)。

所以我对动辄谈SSH/SSI很反感,甚或者很多人以为这才是Java、这才是J2EE,呵呵,一笑置之、当然,需要使用的时候我也不会犹豫,不需要的时候我也不会有依赖心理。

工具,为我所用;工具,不能反过头来影响设计、 26 楼 zh_harry 12 小时前 windshome 写道我觉得:

框架当然有用,很多框架写得很好,体现了设计者的功力,但是现在框架的作用和使用泛滥,作用也被夸大了。

十多个表的系统,设计时争论什么Hibernate货IBatis,有点搞笑吧,一共不上40个页面,谈什么SpringMVC还是Stucts,何必呢?

我用传统的JDBC,简单的servlet/jsp,做的也很好,当然定了很多名字和业务的对应规范,写起来也很爽,开发起来也很快。(当然,即便不用什么框架,我也不会把业务逻辑写在jsp中)。

所以我对动辄谈SSH/SSI很反感,甚或者很多人以为这才是Java、这才是J2EE,呵呵,一笑置之、当然,需要使用的时候我也不会犹豫,不需要的时候我也不会有依赖心理。

工具,为我所用;工具,不能反过头来影响设计、
我也比较喜欢用jdk的纯代码写项目,其实最主要的还是设计思想,框架和工具都是为开发和维护更方便。 27 楼 zhongmin2012 1 小时前 我觉得还是看公司文化, 28 楼 windshome 8 分钟前 如果开发团队,或者公司,缺乏下列这些人员或人才,只好使用这些框架,以图加快开发进程:

(1)概念的分析和设计人员

从需求中分析中产品的核心本质,设计产品的概念体系,理顺各个概念的关系。

(2)核心架构人员

根据概念,建立稳固的架构,清晰划分各个部分的关联关系和职责定义;能够根据这些特点,权衡利弊,采取最适合的技术选型。

(3)资深的实现者

框架实现起来当然不容易,但是要想做出对一个产品适用的一个服务器框架、或者数据库连接池,还是没有那么困难的,而且,自己实现也是随着项目、产品的进展而不断成长完善的。

当然,即便有这样的人,使用开源框架也无可厚非---只要不依赖它们,离开他们就活不成就行。


读书人网 >开源软件

热点推荐