- 浏览: 4821612 次
- 性别:
- 来自: 上海
博客专栏
-
robbin谈管理
浏览量:137077
文章分类
最新评论
-
xly1981:
领导者是团队的灵魂。深入一线的过程,包括代码review,能帮 ...
robbin谈管理:改造团队的经验(2) -
jiehuangwei:
像这种总结比较性的ppt文档可以多发啊
Web并发模型粗浅探讨 -
linux1308:
看完学习到了很多东西,感谢推荐!
推荐一篇很好的RoR部署方案性能评测 -
zweite:
直接对搜索的结果进行缓存是不是会更快一点呢
漫谈应用缓存的命中率问题 -
kaogua:
现在已经是ruby2.0了, 不知道这个的效率是怎么样的, 是 ...
Ruby作为服务器端应用已经成熟了
Spring2.0的发布恐怕算得上2006年Java社区的一件大事了。在Spring2.0发布附带的文档里面对2.0新特性做了概要的介绍,2.0的新特性是自然是我们最关注的方面:
一、Spring的XML配置引入XML Schema语法简化配置
在Spring1.x系列中,bean的配置文件使用DTD,没有namespace的分隔。2.0的一个非常大的改进是引入了XML Schema的namespace,因而可以将bean的配置文件做大幅度的简化。这些简化包括了对bean属性的各种简化,AOP配置的简化,事务配置的简化,JNDI配置的简化等方面。当然,在简化配置的同时,新的XML Schema实际上引入了更多的XML语法,因此使用一个支持XML Schema的XML Editor就显得非常必要了,例如Eclipse WTP就可以提供Schema的语法自动提示和校验功能。
Spring1.x的bean配置文件逐渐复杂烦琐化,是Spring历来被人所垢病的主要问题之一。在Spring2.0里面XML Schema语法的配置可以在相当程度上降低配置文件的复杂程度和烦琐程度,可以视为Spring的重大改进之一。但是我们也必须看到XML Schema并没有从根源上面解决XML配置复杂的问题,而只是减轻。
将所有的bean之间的依赖关系,组装关系统统使用XML来描述,本身就会导致XML阅读和修改一定的困难。并且用XML配置本身无法直接进行单元测试来验证依赖关系。因此,当bean之间关系越复杂的时候,XML配置文件本身的维护也是一个负担。
我个人比较期待未来的Spring能够使用脚本语言来编写和组装bean之间的关系,这样组装脚本本身也是可测试的,而且脚本的描述能力要远远好于XML配置文件,同时编写和维护起来也比XML轻松。
二、提供了request和session范围的bean
引入request scope和session scope的bean,我感觉是把双刃剑。对于普通的Java Web框架应用来说,和Servlet容器相关的操作应该限制在Web层,对于业务层来说,不应该涉及request和session的scope,否则业务层代码无法脱离Servlet容器进行单元测试。对于使用Webwork/Struts框架的用户来说,恐怕不太会使用该特性,另外根据我的理解,也许request/session scope的bean也是为了提供给Spring MVC的Controller使用的。
除此之外,对于AJAX Web Service调用来说,这一特性反而是很有用处的。对于这种应用场景,JS通过AJAX调用,抛开Web层框架,直接访问业务层bean,这个时候就需要提供request/session scope的bean了。
三、集成AspectJ,可以管理容器外对象,提供了领域模型的依赖注入
通常由Hibernate管理的持久化对象PO,并不是由Spring容器初始化的,往往是用户自己new出来,或者通过find,load方法创建的,其结果就是Spring容器无法对这种容器外创建的对象进行bean依赖关系注入。
在Spring2.0中,可以使用AspectJ对领域模型进行静态织入,这样当该领域模型在容器外被创建的时候,会产生对容器的回调,进行依赖关系的注入。
Spring2.0提供的这一特性,确保了Martin Folwer的Rich Domain Object的可行性,这一特性的提供恐怕会对未来很多Java系统的设计产生相当深远的影响。
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
四、JPA支持
这一点其实没有什么可点评的,提供JPA支持本来就是理所应当之事。
五、JDBC的NamedParameterJdbcTemplate
NamedParameterJdbcTemplate我认为意义非凡,为JDBC查询提供了带命名参数的占位符,而不止是JDBC自己的“?”,这样使用JDBC的时候,也可以很容易的构造出来带占位符的动态条件查询,而不是参数值带入方式的拼接SQL字符串了。
六、Spring Web MVC功能的大幅度扩充
看的出来,在Spring2.0里面 Web MVC功能大幅度扩充,过去不提供的UI Taglib也终于提供了,配置文件也进行了必要的简化。虽然Spring MVC从框架设计角度来说远远不如Webwork那么有创意,但是也是一步一个脚印的改进,再配合上各种外围框架例如Spring Webflow等的支持,可以预见Spring MVC会成长为Webwork的劲敌。
七、支持动态语言ruby,groovy,beanshell
动态语言支持目前看来还比较简单,不够强大,但是表明了Spring的一个态度,其实我个人希望Spring能够加强这方面支持,甚至大胆一点,提供用动态脚本语言编写的bean组装配置。
八、异步JMS支持,JMX支持,JCA支持的功能完善
Spring2.0自身提供了两类简单的JMS Containter,此外还提供了外部JMS Server的接口,另外JMX功能的支持,JCA功能的支持都在进一步的完善过程中。
Spring2.0在这几个方面的功能支持不是那么引入注目,毕竟普通Java Web应用很少使用这些方面。但是Spring提供这些功能的完善支持意义却很深远,因为这些功能都是J2EE规范所要求提供的功能,也是传统应用服务器厂商相对比Java开源框架的传统优势项目。一旦Spring2.0对这些功能提供了完善的支持,那么将传统的Java企业应用完全迁移到Spring框架上面的技术障碍就一扫而空了。
因此Spring是一个野心很大的框架,从现在状况来看,Spring可以说是Java开源框架之集大成者,从未来来看,Spring将提供J2EE厂商所能够提供的所有必要的功能,最终Spring将有可能取J2EE规范而代之,成为Java企业开发的事实平台和事实标准。
总体来说,Spring2.0将向未来的宏大目标又迈进了一大步。不过对于我等普通Java Web项目的开发需求来说,2.0的新特性也没有特别需要的。
配置文件终究是要程序员编写,维护的,所以可维护性上面,XML比脚本语言自然差太远了。
我的理解是Spring2只是支持这种设计方法,尚未鼓励大家在所有的业务模型中都这样做
三、集成AspectJ,可以管理容器外对象,提供了领域模型的依赖注入
通常由Hibernate管理的持久化对象PO,并不是由Spring容器初始化的,往往是用户自己new出来,或者通过find,load方法创建的,其结果就是Spring容器无法对这种容器外创建的对象进行bean依赖关系注入。
在Spring2.0中,可以使用AspectJ对领域模型进行静态织入,这样当该领域模型在容器外被创建的时候,会产生对容器的回调,进行依赖关系的注入。
Spring2.0提供的这一特性,确保了Martin Folwer的Rich Domain Object的可行性,这一特性的提供恐怕会对未来很多Java系统的设计产生相当深远的影响。
昨晚试着把springside里的事务定义改成2.0的模式,发现真的舒爽了不少。不对比不知道啊,Spring 1.0 时的baseTxManager 模式实在太局限AOP的应用了,比如acegi与baseTxManager在定义时的关系。到了2.0才是真正的AOP方式定义AOP.
另外robbin提到的通过AOP,在容器外创建对象时依然进行IOC也是个很重要的特性,我们就可以打破 one bean, one xml define的限制,什么都需要在xml里定义一遍,也是非常非常影响spring应用的。 现在可以把*.*.*Manager.init(..) 批量加入autowirebyName的注入,哈哈。 robbin有这个Aspect的sample code么?
设计是要因时因地制宜的......
是的。
我觉得组装关系使用XML来描述很好,不是提供Spring IDE了吗? 至于用脚本语言那应该是第三方做的事!
一、Spring的XML配置引入XML Schema语法简化配置
在Spring1.x系列中,bean的配置文件使用DTD,没有namespace的分隔。2.0的一个非常大的改进是引入了XML Schema的namespace,因而可以将bean的配置文件做大幅度的简化。这些简化包括了对bean属性的各种简化,AOP配置的简化,事务配置的简化,JNDI配置的简化等方面。当然,在简化配置的同时,新的XML Schema实际上引入了更多的XML语法,因此使用一个支持XML Schema的XML Editor就显得非常必要了,例如Eclipse WTP就可以提供Schema的语法自动提示和校验功能。
Spring1.x的bean配置文件逐渐复杂烦琐化,是Spring历来被人所垢病的主要问题之一。在Spring2.0里面XML Schema语法的配置可以在相当程度上降低配置文件的复杂程度和烦琐程度,可以视为Spring的重大改进之一。但是我们也必须看到XML Schema并没有从根源上面解决XML配置复杂的问题,而只是减轻。
将所有的bean之间的依赖关系,组装关系统统使用XML来描述,本身就会导致XML阅读和修改一定的困难。并且用XML配置本身无法直接进行单元测试来验证依赖关系。因此,当bean之间关系越复杂的时候,XML配置文件本身的维护也是一个负担。
我个人比较期待未来的Spring能够使用脚本语言来编写和组装bean之间的关系,这样组装脚本本身也是可测试的,而且脚本的描述能力要远远好于XML配置文件,同时编写和维护起来也比XML轻松。
二、提供了request和session范围的bean
引入request scope和session scope的bean,我感觉是把双刃剑。对于普通的Java Web框架应用来说,和Servlet容器相关的操作应该限制在Web层,对于业务层来说,不应该涉及request和session的scope,否则业务层代码无法脱离Servlet容器进行单元测试。对于使用Webwork/Struts框架的用户来说,恐怕不太会使用该特性,另外根据我的理解,也许request/session scope的bean也是为了提供给Spring MVC的Controller使用的。
除此之外,对于AJAX Web Service调用来说,这一特性反而是很有用处的。对于这种应用场景,JS通过AJAX调用,抛开Web层框架,直接访问业务层bean,这个时候就需要提供request/session scope的bean了。
三、集成AspectJ,可以管理容器外对象,提供了领域模型的依赖注入
通常由Hibernate管理的持久化对象PO,并不是由Spring容器初始化的,往往是用户自己new出来,或者通过find,load方法创建的,其结果就是Spring容器无法对这种容器外创建的对象进行bean依赖关系注入。
在Spring2.0中,可以使用AspectJ对领域模型进行静态织入,这样当该领域模型在容器外被创建的时候,会产生对容器的回调,进行依赖关系的注入。
Spring2.0提供的这一特性,确保了Martin Folwer的Rich Domain Object的可行性,这一特性的提供恐怕会对未来很多Java系统的设计产生相当深远的影响。
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
四、JPA支持
这一点其实没有什么可点评的,提供JPA支持本来就是理所应当之事。
五、JDBC的NamedParameterJdbcTemplate
NamedParameterJdbcTemplate我认为意义非凡,为JDBC查询提供了带命名参数的占位符,而不止是JDBC自己的“?”,这样使用JDBC的时候,也可以很容易的构造出来带占位符的动态条件查询,而不是参数值带入方式的拼接SQL字符串了。
六、Spring Web MVC功能的大幅度扩充
看的出来,在Spring2.0里面 Web MVC功能大幅度扩充,过去不提供的UI Taglib也终于提供了,配置文件也进行了必要的简化。虽然Spring MVC从框架设计角度来说远远不如Webwork那么有创意,但是也是一步一个脚印的改进,再配合上各种外围框架例如Spring Webflow等的支持,可以预见Spring MVC会成长为Webwork的劲敌。
七、支持动态语言ruby,groovy,beanshell
动态语言支持目前看来还比较简单,不够强大,但是表明了Spring的一个态度,其实我个人希望Spring能够加强这方面支持,甚至大胆一点,提供用动态脚本语言编写的bean组装配置。
八、异步JMS支持,JMX支持,JCA支持的功能完善
Spring2.0自身提供了两类简单的JMS Containter,此外还提供了外部JMS Server的接口,另外JMX功能的支持,JCA功能的支持都在进一步的完善过程中。
Spring2.0在这几个方面的功能支持不是那么引入注目,毕竟普通Java Web应用很少使用这些方面。但是Spring提供这些功能的完善支持意义却很深远,因为这些功能都是J2EE规范所要求提供的功能,也是传统应用服务器厂商相对比Java开源框架的传统优势项目。一旦Spring2.0对这些功能提供了完善的支持,那么将传统的Java企业应用完全迁移到Spring框架上面的技术障碍就一扫而空了。
因此Spring是一个野心很大的框架,从现在状况来看,Spring可以说是Java开源框架之集大成者,从未来来看,Spring将提供J2EE厂商所能够提供的所有必要的功能,最终Spring将有可能取J2EE规范而代之,成为Java企业开发的事实平台和事实标准。
总体来说,Spring2.0将向未来的宏大目标又迈进了一大步。不过对于我等普通Java Web项目的开发需求来说,2.0的新特性也没有特别需要的。
评论
25 楼
stamen
2006-10-29
Spring 2.0在AOP的配置上确实简化了不少,值得好好学习。
24 楼
lighter
2006-10-25
"配置文件终究是要程序员编写,维护的,所以可维护性上面,XML比脚本语言自然差太远了。"
同意同意,有时候给spring的配置文件搞得头都大了,特别在维护旧系统的时候,看别人配置的文件的风格,有时候很别扭.
同意同意,有时候给spring的配置文件搞得头都大了,特别在维护旧系统的时候,看别人配置的文件的风格,有时候很别扭.
23 楼
robbin
2006-10-17
chenxu 写道
robbin : "而且脚本的描述能力要远远好于XML配置文件,同时编写和维护起来也比XML轻松",
不理解 这句话的意思。就”描述能力“来看,xml的描述能力应该是
强于脚本的。 而且脚本的编写和维护也并不比xml轻松。
我的理解是这个问题应该是通过一个专门的工具来进行xml的配置(用工具来解决配置的复杂性)。至于是用 xml 还是 脚本 来保存此配置,只是一个存储方式的问题。和配置的复杂性本身并
没有什么关系。
大家认为呢?
不理解 这句话的意思。就”描述能力“来看,xml的描述能力应该是
强于脚本的。 而且脚本的编写和维护也并不比xml轻松。
我的理解是这个问题应该是通过一个专门的工具来进行xml的配置(用工具来解决配置的复杂性)。至于是用 xml 还是 脚本 来保存此配置,只是一个存储方式的问题。和配置的复杂性本身并
没有什么关系。
大家认为呢?
配置文件终究是要程序员编写,维护的,所以可维护性上面,XML比脚本语言自然差太远了。
22 楼
chenxu
2006-10-17
robbin : "而且脚本的描述能力要远远好于XML配置文件,同时编写和维护起来也比XML轻松",
不理解 这句话的意思。就”描述能力“来看,xml的描述能力应该是
强于脚本的。 而且脚本的编写和维护也并不比xml轻松。
我的理解是这个问题应该是通过一个专门的工具来进行xml的配置(用工具来解决配置的复杂性)。至于是用 xml 还是 脚本 来保存此配置,只是一个存储方式的问题。和配置的复杂性本身并
没有什么关系。
大家认为呢?
不理解 这句话的意思。就”描述能力“来看,xml的描述能力应该是
强于脚本的。 而且脚本的编写和维护也并不比xml轻松。
我的理解是这个问题应该是通过一个专门的工具来进行xml的配置(用工具来解决配置的复杂性)。至于是用 xml 还是 脚本 来保存此配置,只是一个存储方式的问题。和配置的复杂性本身并
没有什么关系。
大家认为呢?
21 楼
江南白衣
2006-10-13
Spring2.0 容易,JDK5.0 就要先等Weblogic 8.1退出历史舞台了....
20 楼
梦秋雨
2006-10-13
只是期待,什么时候公司能用这些东西。jdk1.5 and spring2.0
19 楼
bluemeteor
2006-10-09
iamjxc 写道
robbin提到:
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
我的理解是Spring2只是支持这种设计方法,尚未鼓励大家在所有的业务模型中都这样做
18 楼
Allen
2006-10-09
Spring的易用性实在是太诱人了……
现在国内书店计算机类书架上最火的书籍里面现在又添加了“Spring”一条。 这里面应该也是有过去几年中“Struts”跟“Hibernate”大卖的因素存在(有相当多的人希望用Spring这个框框来修补自己在Struts和Hibernate开发中“捅出来的娄子”)。当然了,抱有“拿来就用、用完就算”心态的软件工程师也不在少数,兴许今后他们又要用别的什么来擦现在的PP……
AJAX也是很火的,甚至于有的同学已经跳过JavaScript的书也直接奔向AJAX的条目了……只是有关RoR的书籍目前还是没有怎么流行起来哦。
愿Spring真主仁慈地遮住我光了几年的PP吧!
现在国内书店计算机类书架上最火的书籍里面现在又添加了“Spring”一条。 这里面应该也是有过去几年中“Struts”跟“Hibernate”大卖的因素存在(有相当多的人希望用Spring这个框框来修补自己在Struts和Hibernate开发中“捅出来的娄子”)。当然了,抱有“拿来就用、用完就算”心态的软件工程师也不在少数,兴许今后他们又要用别的什么来擦现在的PP……
AJAX也是很火的,甚至于有的同学已经跳过JavaScript的书也直接奔向AJAX的条目了……只是有关RoR的书籍目前还是没有怎么流行起来哦。
愿Spring真主仁慈地遮住我光了几年的PP吧!
17 楼
robbin
2006-10-08
其实我到觉得用AspectJ来提供容器外bean的注入应该尽量避免使用。一来bean产生对于spring和aspectj的代码依赖,二来需要多一步静态增强操作,不利于调试。传统的做法死板到是死板一点,但是结构比较简单。
16 楼
江南白衣
2006-10-08
robbin 写道
三、集成AspectJ,可以管理容器外对象,提供了领域模型的依赖注入
通常由Hibernate管理的持久化对象PO,并不是由Spring容器初始化的,往往是用户自己new出来,或者通过find,load方法创建的,其结果就是Spring容器无法对这种容器外创建的对象进行bean依赖关系注入。
在Spring2.0中,可以使用AspectJ对领域模型进行静态织入,这样当该领域模型在容器外被创建的时候,会产生对容器的回调,进行依赖关系的注入。
Spring2.0提供的这一特性,确保了Martin Folwer的Rich Domain Object的可行性,这一特性的提供恐怕会对未来很多Java系统的设计产生相当深远的影响。
昨晚试着把springside里的事务定义改成2.0的模式,发现真的舒爽了不少。不对比不知道啊,Spring 1.0 时的baseTxManager 模式实在太局限AOP的应用了,比如acegi与baseTxManager在定义时的关系。到了2.0才是真正的AOP方式定义AOP.
另外robbin提到的通过AOP,在容器外创建对象时依然进行IOC也是个很重要的特性,我们就可以打破 one bean, one xml define的限制,什么都需要在xml里定义一遍,也是非常非常影响spring应用的。 现在可以把*.*.*Manager.init(..) 批量加入autowirebyName的注入,哈哈。 robbin有这个Aspect的sample code么?
15 楼
liuyifan.com
2006-10-08
竞然撞贴...
14 楼
liuyifan.com
2006-10-08
iamjxc 写道
robbin提到:
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
设计是要因时因地制宜的......
13 楼
robbin
2006-10-08
iamjxc 写道
robbin提到:
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
是的。
12 楼
iamjxc
2006-10-08
robbin提到:
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
其实针对Rich Domain Object更进一步,如果将DAO功能作为Domain Object的抽象父类,那么持久化对象PO就会集PO,DAO,Service对象于一身,整个业务层,持久层完全合并为一个对象,通过这种方式进行框架简化得到的结果就是,高度类似于ruby on rails的full-stack的MVC框架。
与我们讨论了很多PO/DAO/Service分层的做法不是背道而驰了吗?
11 楼
stone
2006-10-06
一个完全依赖于spring的稍大一点的应用,使用xml配置bean和其之间的依赖关系简直就是一场噩梦。
不知道robbin说的脚本配置是怎样的一个配置,可否举一个例子?
不知道robbin说的脚本配置是怎样的一个配置,可否举一个例子?
10 楼
江南白衣
2006-10-05
对spring 折腾这么快一年时间,又搞了个很臭美的倒数后,只推出这么点功能不是很满意,对CRUD代码与编程架构影响都不大:)
而它的jira里还有很多我认为不错的功能还没有做出来。
看来真的是东西大了,想改起来就难了。 他应该把更多集成剥离到springmodules式的项目里,保证core可以快速升级。
而它的jira里还有很多我认为不错的功能还没有做出来。
看来真的是东西大了,想改起来就难了。 他应该把更多集成剥离到springmodules式的项目里,保证core可以快速升级。
9 楼
garnoopy
2006-10-04
一个东西太过于强大了,往往是它衰弱的开始。太复杂了。
8 楼
pedestrian_I
2006-10-04
集成AspectJ,这个是最大的用处……
7 楼
boogie
2006-10-04
robbin 写道
将所有的bean之间的依赖关系,组装关系统统使用XML来描述,本身就会导致XML阅读和修改一定的困难。并且用XML配置本身无法直接进行单元测试来验证依赖关系。因此,当bean之间关系越复杂的时候,XML配置文件本身的维护也是一个负担。
我觉得组装关系使用XML来描述很好,不是提供Spring IDE了吗? 至于用脚本语言那应该是第三方做的事!
6 楼
温柔一刀
2006-10-04
新特征好象对我的用处不大啊
发表评论
-
WebObjects的来龙去脉
2012-06-08 15:30 7616在知乎上回答的一个问题:http://www.zhihu.co ... -
缓存技术浅谈
2010-09-24 18:08 21810有我在两年前写的一个培训的ppt,是介绍缓存知识的。有兴趣的可 ... -
对领域模型实现的总结性观点
2008-11-30 15:16 19561陶文发起的对领域模型 ... -
发现JBoss Seam很棒呀!有用Seam做过项目的吗?
2008-07-06 20:56 30328上周去见了一个朋友Mark,他应邀在Red Hat的研讨会上面 ... -
Spring Application Platform - SpringSource的应用服务器发布
2008-05-05 17:04 68952008年的5.1劳动节,Spring ... -
Warp framework - 一个相当有前途的Java轻量级Web开发框架
2008-03-06 15:24 22568Warp framework 是最近刚刚 ... -
Google Android会成为手机领域的微软Windows吗?
2007-11-16 17:23 9644Google gPhone手机的传言已经沸沸扬扬好几个月了,然 ... -
Java已经过时了吗?
2007-07-02 15:43 59723在四年以前,当我开始 ... -
Java开源框架发展的遐想
2007-05-23 00:04 34812上周末在杭州网侠大会做演讲的时候,我说:Java开源框架的革命 ... -
漫谈应用缓存的命中率问题
2007-05-09 14:19 26465这篇文章源自于: http://www.iteye.com/ ... -
为什么ORM性能比iBATIS好?
2007-05-06 11:16 34523缓存是有很多层次的,有web server前端缓存,有动态页面 ... -
点评Grails vs RoR
2007-03-30 17:49 8285Grails的革新和RoR相比,非常不彻底,很多地方兼容Jav ... -
缓存简述
2007-03-30 09:55 12263缓存实现的层面有很多: 1、对象缓存 由ORM框架提供,透明 ... -
JRuby0.9.8,正式宣布支持ruby on rails
2007-03-07 10:35 15668http://jruby.codehaus.org/ 自从S ... -
domain model的延伸讨论
2007-03-03 01:17 40713domain model,又称为领域模型,是Java企业应用讨 ... -
可以开始用Struts2.0了
2007-02-27 14:56 56102http://struts.apache.org/ Apac ... -
Google Guice - 比Spring快100倍的IoC容器
2007-02-27 14:46 58239http://code.google.com/p/google ... -
Spring2.0和EJB3.0随谈
2007-02-08 14:26 18464Spring自从2003年发布以来 ... -
Java程序员的推荐阅读书籍
2007-02-07 20:12 101367《Java程序员的推荐阅读 ... -
应该如何正确使用Quartz
2006-12-27 11:40 34235对于Web容器来说,最忌讳应用程序私自启动线程,自行进行线程调 ...
相关推荐
Spring 2.0版本引入了更多新特性,如AOP(面向切面编程)的增强,使得对横切关注点如日志、事务处理等的管理更加方便。此外,Spring的IoC(Inversion of Control,控制反转)容器使对象的创建和依赖关系的配置变得...
- **Spring 2.0版本**:本书主要围绕Spring 2.0版本进行讲解,该版本引入了许多重要的改进和新特性,如支持Java5的新特性(泛型等),增强了AOP的功能,以及对事务管理的改进等。 #### 二、Spring的核心特性及应用...
2. 后端技术:可能采用Java或.NET等服务器端语言,结合Spring、Hibernate或Entity Framework等框架,构建稳定高效的后端服务。 3. 数据库:MySQL或SQL Server等关系型数据库,存储商品信息、订单数据、用户资料等。 ...
【基于SSH的婴幼儿产品销售系统】是一个以Java编程语言为核心,采用Struts2.0、Spring2.0和Hibernate3.2技术栈构建的电子商务应用。该系统旨在满足现代快节奏生活中,越来越多依赖网络购物的消费者,特别是针对婴...
在JSP2.0版本中,引入了许多新特性,提高了开发效率和代码的可维护性。以下是JSP2.0的一些核心概念和技术点: 1. **表达式语言(EL)**:EL是JSP2.0中的一个重要改进,它提供了一种简洁的方式来访问JavaBean属性,...
家教信息平台,作为一款基于Web2.0技术的在线教育系统,充分利用了互联网的交互性和社区特性,为学生、家长以及教师提供了便捷的交流与合作平台。在这个平台上,用户可以分享知识,发布和寻找家教服务,形成一个动态...
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目标是用于简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式(默认配置)来简化 Spring 应用的基本配置。Spring Boot 的核心特性包括: - *...
"DigitalCampus数字校园"项目很可能是一个综合性的教育管理平台,可能包括学生信息管理、课程安排、成绩记录、在线学习资源、教师评价等多个模块。它利用J2EE的技术特性,如EJB进行后端业务处理,Servlet和JSP负责...
Spring是整个项目的基石,它的核心特性包括依赖注入和面向切面编程(AOP)。通过XML配置或注解方式,Spring可以管理各个组件的生命周期,使得代码更易于测试和维护。 3. **SpringMVC**: SpringMVC是Spring框架的...
4. **用户认证与授权**:教学评价系统的安全性是关键,因此,系统可能集成了OAuth2.0或JWT(JSON Web Tokens)进行用户身份验证和授权管理,确保用户数据的安全。 5. **数据结构与设计模式**:在数据库设计上,...
该系统充分利用了微信小程序的特性,让用户能够通过微信平台直接进行维修服务的预约,简化了服务流程,提升了用户体验。下面将详细介绍这个系统的关键技术和组成部分。 1. **微信小程序开发**: - 微信小程序是一...
他不仅发起了AppFuse这一开源框架,并且撰写了多本技术书籍,如《Professional JSP 2.0》与《Spring Live》等。此外,他还经常受邀在各大技术会议中进行主题演讲。本文将详细介绍他在JA-SIG夏季会议上关于Java Web层...
6. **评价系统**:用户可以对服务进行评价,系统根据评价结果对司机进行信用评级,以此激励提供优质服务。 7. **后台管理**:管理员可以通过后台管理系统,监控运营数据,处理用户投诉,调整系统参数,保证系统的...
3. 预约与评价系统:用户可以在线预约服务,完成服务后进行评价,促进服务质量提升。 4. 移动端支持:通过响应式设计或独立的移动端应用,满足用户在不同设备上的使用需求。 三、关键技术 1. SpringBoot:作为...
SpringBoot是Spring框架的扩展,它简化了Spring应用程序的开发过程,通过自动配置、内嵌式Web服务器以及“开箱即用”的特性,让开发者可以快速构建独立运行的应用程序。在这个项目中,SpringBoot作为基础框架,负责...
西藏旅游网还支持微信小程序访问,这需要对接微信开放平台,获取AppID和AppSecret,然后在后端实现OAuth2.0授权流程,前端通过微信SDK获取用户信息,实现用户登录和支付等功能。同时,小程序的设计也需要符合微信的...
6. 客服与评价系统:包括在线咨询、问题反馈、商品评价等功能,提升客户满意度。 四、安全与优化 1. 安全性:HTTPS协议保证数据传输的安全,防止中间人攻击。XSS和CSRF防护机制防止恶意脚本注入和跨站请求伪造。...
这是一个典型的IT项目,结合了传统的后端开发框架SSM(Spring、SpringMVC、MyBatis)与前端现代化的Vue.js技术,以及可能涉及到的微信小程序接口,用于构建一个校园内的代购服务订单管理系统。下面将详细介绍这个...
不过,我们可以推测,这个小程序可能包含诸如产品发布、订单管理、支付处理、用户评价等常见电商功能,同时可能还具备一些针对农产品特色的特性,如产地追溯、季节性展示等。 【标签解析】 1. **毕业设计**:这...