Tim因为其实现了guice与dwr的集成,已经被列入dwr的contributor行列,Tim在自己的blog上也谈到了如何实现guice与dwr的集成,不过说的比较粗略。下面我们来看看如何实现guice与dwr的集成。
资源下载
- 下载最新的DWR 2.0 RC4a,地址:https://dwr.dev.java.net/files/documents/2427/55209/dwr.jar
- 下载Guice 1.0,地址:http://google-guice.googlecode.com/files/guice-1.0.zip
定义服务
java 代码
- public interface HelloService {
- String sayHello(String name);
- }
java 代码
- public class DefaultHelloService implements HelloService {
- public String sayHello(String name) {
- return "Hello, " +name;
- }
- }
实现dwr的Listener
java 代码
- public class DwrContextListener extends DwrGuiceServletContextListener {
- @Override
- protected void configure() {
-
-
-
- bindRemotedAs("HelloService", HelloService.class).to(DefaultHelloService.class).in(Scopes.SINGLETON);
- }
- }
配置DWR
xml 代码
- <listener>
- <listener-class>
- temp.DwrContextListener
- <!---->listener-class>
- <!---->listener>
- <servlet>
- <servlet-name>dwr-invoker<!---->servlet-name>
- <display-name>DWR Servlet<!---->display-name>
- <description>Direct Web Remoter Servlet<!---->description>
- <servlet-class>org.directwebremoting.guice.DwrGuiceServlet<!---->servlet-class>
- <init-param>
- <param-name>debug<!---->param-name>
- <param-value>true<!---->param-value>
- <!---->init-param>
- <init-param>
- <param-name>activeReverseAjaxEnabled<!---->param-name>
- <param-value>true<!---->param-value>
- <!---->init-param>
- <load-on-startup>1<!---->load-on-startup>
- <!---->servlet>
-
- <servlet-mapping>
- <servlet-name>dwr-invoker<!---->servlet-name>
- <url-pattern>/dwr/*<!---->url-pattern>
- <!---->servlet-mapping>
至此,已经完成了guice与dwr的集成。启动web服务,在浏览器中输入:http://localhost:{port}/{context}/dwr,便可以看到所发布的HelloService服务。
重大改进
dwr在与guice集成之后有了突出的功能性改进,以往如果想要发布远程对象,需要使用具体类来实现,不可以使用接口,这使得发布的对象暴露过多的内部信息,虽然可以通过在dwr.xml中显示的定义哪些方法和属性需要发布,哪些不用,但是这样也加大了对发布的远程对象的维护和管理难度。借助guice,DWR 2.0RCa目前可以以发布接口的方式来发布远程对象。
分享到:
- 2007-04-20 16:16
- 浏览 1640
- 评论(0)
- 论坛回复 / 浏览 (0 / 2332)
- 查看更多
相关推荐
Google Guice与MyBatis集成,支持注解事务,简单的无法想象; Mybatis与mysql集成;实现发送邮件轮询; 源码是个web项目,里面有数据库的脚本,使用tomcat,导入eclipse,部署启动tomcat,轮询即会启动 使用 ...
Guice与Spring框架的区别 Guice与Spring框架都是依赖注入(Dependency Injection,DI)容器,它们的主要作用是将对象之间的依赖关系解耦,使得系统更加灵活、可维护和可扩展。下面我们来讨论Guice和Spring框架的...
Hibernate with Jpa+annotations and Guice集成用例
shiro,guice集成,官方资料,精准全面
DI容器,例如spring,picoContainer,EJB容器等等 与Guice的不同
当前特点: 与 Guice 集成,为所有 @Entity 类提供 Typed Daos 的绑定。 #用法您可以签出 repo 并执行 mvn clean 包。 检查测试用例以了解功能。 可以使用持久性单元名称、属性对象、布尔标志来实例化模块以启动 ...
guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar
play-guice-mybatis play 框架 guice mybatis 集成
shiro的权限注解,必须和aop框架整合使用,guice是一个很轻巧的aop框架,据说比spring aop快100倍。
NULL 博文链接:https://wxbin-perfect.iteye.com/blog/2178647
* What the future has in store, including Guice IDE, the next Guice version and the standardization of Guice's concepts through JSR 299. * How you can build real world, Guice-powered web ...
guice 学习资料,快速掌握guice的编程技巧以及了解其机制。
Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法,而不仅仅是setter...
赠送jar包:guice-3.0.jar; 赠送原API文档:guice-3.0-javadoc.jar; 赠送源代码:guice-3.0-sources.jar; 赠送Maven依赖信息文件:guice-3.0.pom; 包含翻译后的API文档:guice-3.0-javadoc-API文档-中文(简体)-...
赠送jar包:guice-multibindings-3.0.jar; 赠送原API文档:guice-multibindings-3.0-javadoc.jar; 赠送源代码:guice-multibindings-3.0-sources.jar; 赠送Maven依赖信息文件:guice-multibindings-3.0.pom; ...
Guice用户中文指南,Guice (读作"juice")是超轻量级的,下一代的,为Java 5及后续版本设计的依赖注入容器
Guice开发手册, Guice中文开发手册
赠送jar包:guice-3.0.jar; 赠送原API文档:guice-3.0-javadoc.jar; 赠送源代码:guice-3.0-sources.jar; 赠送Maven依赖信息文件:guice-3.0.pom; 包含翻译后的API文档:guice-3.0-javadoc-API文档-中文(简体)版...