- 浏览: 4797949 次
- 性别:
- 来自: 上海
博客专栏
-
robbin谈管理
浏览量:135690
文章分类
最新评论
-
xly1981:
领导者是团队的灵魂。深入一线的过程,包括代码review,能帮 ...
robbin谈管理:改造团队的经验(2) -
jiehuangwei:
像这种总结比较性的ppt文档可以多发啊
Web并发模型粗浅探讨 -
linux1308:
看完学习到了很多东西,感谢推荐!
推荐一篇很好的RoR部署方案性能评测 -
zweite:
直接对搜索的结果进行缓存是不是会更快一点呢
漫谈应用缓存的命中率问题 -
kaogua:
现在已经是ruby2.0了, 不知道这个的效率是怎么样的, 是 ...
Ruby作为服务器端应用已经成熟了
http://code.google.com/p/google-guice/
Google公司的Bob lee开发的轻量级IoC容器,其特点是:
1、速度快,号称是spring的100倍速度
2、无配置文件,实用JDK5.0的annotation描述组件依赖,简单,而且有编译器检查和重构支持
3、简单,代码量很少
http://code.google.com/p/google-guice/wiki/SpringComparison
这是Google guice和spring IoC容器的对比
另外xwork2.0已经集成了Google guice容器了。
http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8
这是Google guice的快速入门文档,用起来挺简单的。
无论如何,欢迎任何对spring容器的竞争,因为spring的容器代码和设计确实不太漂亮。
同感,
但是要补充的一点是,哪怕出现了比Spring更好的框架, 目前一时半刻也很难撼动Spring的地位...更多的人考虑的该框架是否有足够的官方/非官方的技术支持,是否可以轻易的从市场招聘到懂该框架的开发人员.
spring代码的确一般,但设计还是不错的,hibernate,seam也是
牛人们似乎都喜欢设计很多类,但里面的代码风格和质量却不怎么关注(很多地方完全可重构),
看不惯seam把那个大括号写在第二行...
貌似这种写法来自于C或者C++
可以,你只需要通过Guice的Provider机制就可以很容易的实现这个需求。可以参考Guice 中对HttpServletRequest的处理。
static class SingletonHolder {
static Singleton instance = new Singleton();
}
把SingletonHolder定义成private会不会更好些
有点犹豫的:
1。说是ultra-lightweight。可能是指代码量说的。从侵入性来讲,要求组件import Guice的Annotation,这不太lightweight——当然,从实用角度来讲也不一定就是大不了的问题。
侵入是必然的,但如果性能上面真的有100倍的话,那前途非常光明的。
不得不佩服Bob Lee了,咱怎么就没有想到呢,呵呵,看来Bob Lee对java真的是相当的精通了,到现在还能创新单例模式,牛
牛是牛,不过感觉singleton的lazy loading用处不大。
通常lazy loading用在比较消耗资源的时候。生产环境下一般在容器启动时候就load了,越早发现问题越好,测试环境下可能有些作用。
不过就算是lazy loading有用,通常singleton里面只有getInstance(),也就是说即使把singleton作为类的静态实例缓存,也是在调用getInstance()时候才会加载,这不就是lazy loading想做的效果么。
除非你非要load singleton class,比如在singleton class里面写些别的静态方法或者使用反射load它,不过我不会这么做。
这种singleton lazy loading不是主要benefit concurrent才是正解
确切的说是以前的lazy loading方法在并发下要么不正确,要么效率低,这种Holder方法提供了一个既正确又比较高效的机制
huangyou 写道
无配置文件这点就很好
把依赖关系从代码中抽出来是为了保持代码的纯净,消除容器api侵入。
依赖关系由ioc框架维护。
配置文件拿掉后,很容易用一个另外的ioc框架替换,
annotation在代码里面就是另外一回事了。
无论如何,欢迎任何对spring容器的竞争,因为spring的容器代码和设计确实不太漂亮。
同感,
但是要补充的一点是,哪怕出现了比Spring更好的框架, 目前一时半刻也很难撼动Spring的地位...更多的人考虑的该框架是否有足够的官方/非官方的技术支持,是否可以轻易的从市场招聘到懂该框架的开发人员.
spring代码的确一般,但设计还是不错的,hibernate,seam也是
牛人们似乎都喜欢设计很多类,但里面的代码风格和质量却不怎么关注(很多地方完全可重构),
看不惯seam把那个大括号写在第二行...
应该是重设计,轻风格,欣赏简洁易懂的代码。
无论如何,欢迎任何对spring容器的竞争,因为spring的容器代码和设计确实不太漂亮。
同感,
但是要补充的一点是,哪怕出现了比Spring更好的框架, 目前一时半刻也很难撼动Spring的地位...更多的人考虑的该框架是否有足够的官方/非官方的技术支持,是否可以轻易的从市场招聘到懂该框架的开发人员.
spring代码的确一般,但设计还是不错的,hibernate,seam也是
牛人们似乎都喜欢设计很多类,但里面的代码风格和质量却不怎么关注(很多地方完全可重构),
看不惯seam把那个大括号写在第二行...
Google公司的Bob lee开发的轻量级IoC容器,其特点是:
1、速度快,号称是spring的100倍速度
2、无配置文件,实用JDK5.0的annotation描述组件依赖,简单,而且有编译器检查和重构支持
3、简单,代码量很少
http://code.google.com/p/google-guice/wiki/SpringComparison
这是Google guice和spring IoC容器的对比
另外xwork2.0已经集成了Google guice容器了。
http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8
这是Google guice的快速入门文档,用起来挺简单的。
评论
51 楼
cosmo1987
2012-02-29
shaucle 写道
acdc 写道
ajoo 写道
无论如何,欢迎任何对spring容器的竞争,因为spring的容器代码和设计确实不太漂亮。
同感,
但是要补充的一点是,哪怕出现了比Spring更好的框架, 目前一时半刻也很难撼动Spring的地位...更多的人考虑的该框架是否有足够的官方/非官方的技术支持,是否可以轻易的从市场招聘到懂该框架的开发人员.
spring代码的确一般,但设计还是不错的,hibernate,seam也是
牛人们似乎都喜欢设计很多类,但里面的代码风格和质量却不怎么关注(很多地方完全可重构),
看不惯seam把那个大括号写在第二行...
貌似这种写法来自于C或者C++
50 楼
Hejrcc
2007-05-17
用 Annotation, 如果配置文件改变了, 需要重新编译原代码.
还是用 xml 配置要来得方便.
还是用 xml 配置要来得方便.
49 楼
ecsoftcn
2007-05-02
xingxing444 写道
请问,如果如果一个已有的类,比如我要使用其他Jar包里的类,里面没有guice的annotation那不就无法直接使用注入来使用这个类了?
可以,你只需要通过Guice的Provider机制就可以很容易的实现这个需求。可以参考Guice 中对HttpServletRequest的处理。
48 楼
javadev
2007-05-02
现在好多应用服务器都是使用jdk1.5一下的版本,不支持annotation,guice只能作为研究对象,但不多很快普及使用的。
47 楼
xingxing444
2007-05-02
请问,如果如果一个已有的类,比如我要使用其他Jar包里的类,里面没有guice的annotation那不就无法直接使用注入来使用这个类了?
46 楼
jetever
2007-04-19
没有配置文件,前途是光明的。
45 楼
demon3780
2007-04-18
static class SingletonHolder {
static Singleton instance = new Singleton();
}
把SingletonHolder定义成private会不会更好些
44 楼
rainlife
2007-04-04
ajoo 写道
有点犹豫的:
1。说是ultra-lightweight。可能是指代码量说的。从侵入性来讲,要求组件import Guice的Annotation,这不太lightweight——当然,从实用角度来讲也不一定就是大不了的问题。
侵入是必然的,但如果性能上面真的有100倍的话,那前途非常光明的。
43 楼
wldandan
2007-03-23
无配置文件是比较好,J2EE中的配置文件太多了
不过读代码的时候,可能就费点劲了
不过读代码的时候,可能就费点劲了
42 楼
bouzouki
2007-03-23
JAVA_ED 写道
intolong 写道
ahuaxuan 写道
不得不佩服Bob Lee了,咱怎么就没有想到呢,呵呵,看来Bob Lee对java真的是相当的精通了,到现在还能创新单例模式,牛
牛是牛,不过感觉singleton的lazy loading用处不大。
通常lazy loading用在比较消耗资源的时候。生产环境下一般在容器启动时候就load了,越早发现问题越好,测试环境下可能有些作用。
不过就算是lazy loading有用,通常singleton里面只有getInstance(),也就是说即使把singleton作为类的静态实例缓存,也是在调用getInstance()时候才会加载,这不就是lazy loading想做的效果么。
除非你非要load singleton class,比如在singleton class里面写些别的静态方法或者使用反射load它,不过我不会这么做。
这种singleton lazy loading不是主要benefit concurrent才是正解
确切的说是以前的lazy loading方法在并发下要么不正确,要么效率低,这种Holder方法提供了一个既正确又比较高效的机制
41 楼
xtwxgh
2007-03-22
引用
huangyou 写道
无配置文件这点就很好
40 楼
xtwxgh
2007-03-22
huangyou 写道
无配置文件这点就很好
无配置文件这点就很好
39 楼
Godlikeme
2007-03-18
huangyou 写道
无配置文件这点就很好
把依赖关系从代码中抽出来是为了保持代码的纯净,消除容器api侵入。
依赖关系由ioc框架维护。
配置文件拿掉后,很容易用一个另外的ioc框架替换,
annotation在代码里面就是另外一回事了。
38 楼
Godlikeme
2007-03-18
shaucle 写道
acdc 写道
ajoo 写道
无论如何,欢迎任何对spring容器的竞争,因为spring的容器代码和设计确实不太漂亮。
同感,
但是要补充的一点是,哪怕出现了比Spring更好的框架, 目前一时半刻也很难撼动Spring的地位...更多的人考虑的该框架是否有足够的官方/非官方的技术支持,是否可以轻易的从市场招聘到懂该框架的开发人员.
spring代码的确一般,但设计还是不错的,hibernate,seam也是
牛人们似乎都喜欢设计很多类,但里面的代码风格和质量却不怎么关注(很多地方完全可重构),
看不惯seam把那个大括号写在第二行...
应该是重设计,轻风格,欣赏简洁易懂的代码。
37 楼
huangyou
2007-03-18
无配置文件这点就很好
36 楼
gof95
2007-03-13
annotation比硬编码好在哪里?
35 楼
hiver
2007-03-13
http://www.artima.com/forums/flat.jsp?forum=270&thread=198371
Google announced the open-source release of Guice, its internal Java dependency injection framework Guice.
Guice wholly embraces annotations and generics, thereby enabling developers to wire together and test objects with less effort than ever before. Annotations finally free you from error-prone, refactoring-adverse string identifiers.
Guice injects constructors, fields and methods (any methods with any number of arguments, not just setters). Guice includes advanced features such as custom scopes, circular dependencies, static member injection, Spring integration, and AOP Alliance method interception, most of which you can ignore until you need it.
An earlier version of Guice already powers Struts 2's plugin architecture. Google has been running Guice in mission critical applications for months, and now you can, too.
Guice lives at Google Code. From there, you'll find the user's guide, Javadocs, and download. Please direct any questions to the mailing list.
Google announced the open-source release of Guice, its internal Java dependency injection framework Guice.
Guice wholly embraces annotations and generics, thereby enabling developers to wire together and test objects with less effort than ever before. Annotations finally free you from error-prone, refactoring-adverse string identifiers.
Guice injects constructors, fields and methods (any methods with any number of arguments, not just setters). Guice includes advanced features such as custom scopes, circular dependencies, static member injection, Spring integration, and AOP Alliance method interception, most of which you can ignore until you need it.
An earlier version of Guice already powers Struts 2's plugin architecture. Google has been running Guice in mission critical applications for months, and now you can, too.
Guice lives at Google Code. From there, you'll find the user's guide, Javadocs, and download. Please direct any questions to the mailing list.
34 楼
shaucle
2007-03-05
acdc 写道
ajoo 写道
无论如何,欢迎任何对spring容器的竞争,因为spring的容器代码和设计确实不太漂亮。
同感,
但是要补充的一点是,哪怕出现了比Spring更好的框架, 目前一时半刻也很难撼动Spring的地位...更多的人考虑的该框架是否有足够的官方/非官方的技术支持,是否可以轻易的从市场招聘到懂该框架的开发人员.
spring代码的确一般,但设计还是不错的,hibernate,seam也是
牛人们似乎都喜欢设计很多类,但里面的代码风格和质量却不怎么关注(很多地方完全可重构),
看不惯seam把那个大括号写在第二行...
33 楼
nicemike
2007-03-02
看不出来这样写的好处,哪位老大来指点一下
32 楼
Godlikeme
2007-03-01
annotation又被乱用了。
发表评论
-
WebObjects的来龙去脉
2012-06-08 15:30 7434在知乎上回答的一个问题:http://www.zhihu.co ... -
缓存技术浅谈
2010-09-24 18:08 21632有我在两年前写的一个培训的ppt,是介绍缓存知识的。有兴趣的可 ... -
对领域模型实现的总结性观点
2008-11-30 15:16 19409陶文发起的对领域模型 ... -
发现JBoss Seam很棒呀!有用Seam做过项目的吗?
2008-07-06 20:56 30039上周去见了一个朋友Mark,他应邀在Red Hat的研讨会上面 ... -
Spring Application Platform - SpringSource的应用服务器发布
2008-05-05 17:04 68272008年的5.1劳动节,Spring ... -
Warp framework - 一个相当有前途的Java轻量级Web开发框架
2008-03-06 15:24 22341Warp framework 是最近刚刚 ... -
Google Android会成为手机领域的微软Windows吗?
2007-11-16 17:23 9569Google gPhone手机的传言已经沸沸扬扬好几个月了,然 ... -
Java已经过时了吗?
2007-07-02 15:43 59615在四年以前,当我开始 ... -
Java开源框架发展的遐想
2007-05-23 00:04 34718上周末在杭州网侠大会做演讲的时候,我说:Java开源框架的革命 ... -
漫谈应用缓存的命中率问题
2007-05-09 14:19 26208这篇文章源自于: http://www.iteye.com/ ... -
为什么ORM性能比iBATIS好?
2007-05-06 11:16 34400缓存是有很多层次的,有web server前端缓存,有动态页面 ... -
点评Grails vs RoR
2007-03-30 17:49 8235Grails的革新和RoR相比,非常不彻底,很多地方兼容Jav ... -
缓存简述
2007-03-30 09:55 12203缓存实现的层面有很多: 1、对象缓存 由ORM框架提供,透明 ... -
JRuby0.9.8,正式宣布支持ruby on rails
2007-03-07 10:35 15592http://jruby.codehaus.org/ 自从S ... -
domain model的延伸讨论
2007-03-03 01:17 40506domain model,又称为领域模型,是Java企业应用讨 ... -
可以开始用Struts2.0了
2007-02-27 14:56 55978http://struts.apache.org/ Apac ... -
Spring2.0和EJB3.0随谈
2007-02-08 14:26 18405Spring自从2003年发布以来 ... -
Java程序员的推荐阅读书籍
2007-02-07 20:12 101201《Java程序员的推荐阅读 ... -
应该如何正确使用Quartz
2006-12-27 11:40 34077对于Web容器来说,最忌讳应用程序私自启动线程,自行进行线程调 ... -
静态类型语言的优势究竟是什么?
2006-11-13 10:03 33288在参与这个讨论的过程中,产生了一个新的话题,很想和大家探讨一下 ...
相关推荐
guice-spring-1.0.jar
guice-3.0,轻量级IOC容器,包含guice-3.0.jar、guice-spring-3.0.jar、guice-struts2-plugin-3.0.jar
标签:extensions、google、assistedinject、inject、guice、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
标签:google、inject、extensions、guice、multibindings、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...
标签:google、inject、guice、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
标签:extensions、google、assistedinject、inject、guice、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...
标签:google、inject、guice、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
sisu-guice-2.1.7-noaop.jar
uptodate-maven-plugin.zip,强制使用最新的依赖项/父项
标签:google、inject、extensions、guice、multibindings、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变...
sisu-guice-3.1.3-no_aop.jar
标签:google、inject、guice、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
guice-1.0.jar guice-1.0.jar
标签:google、inject、guice、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
guice-servlet-1.0.jar
标签:google、inject、extensions、guice、servlet、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
guice-servlet-3.0.jar
标签:google、inject、extensions、guice、servlet、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
guice-3.0.jar ,Guice是Google开发的一个轻量级依赖注入框架(IOC)。Guice非常小而且快,功能类似与Spring,但效率上网上文档显示是它的100倍,而且还提供对Servlet,AOP,Struts等框架的支持;
赠送jar包:shiro-guice-1.4.0.jar; 赠送原API文档:shiro-guice-1.4.0-javadoc.jar; 赠送源代码:shiro-guice-1.4.0-sources.jar; 赠送Maven依赖信息文件:shiro-guice-1.4.0.pom; 包含翻译后的API文档:shiro-...