`
jayung
  • 浏览: 59876 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2与Guice(Guice3.0、Struts2.x)的整合(附demo)

阅读更多

Guice轻量且快速,不失为一款好的ioc框架,下面说说与Struts2的整合。

1. 依赖包

除了需要加入Struts2的依赖包外,需加上Guice的依赖包和Struts-guice-plugin.jar扩展包:

aopalliance.jar,guice-3.0.jar,guice-servlet-3.0.jar,guice-struts2-plugin-3.0.jar,javax.inject.jar。

 

2. web.xml配置

以.do为例

1>. 在web.xml里加入guicefilter

 

	<filter>
		<filter-name>GuiceFilter</filter-name>
		<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>GuiceFilter</filter-name>
		<url-pattern>*.do</url-pattern>
	</filter-mapping>

2>.struts.properties或struts.xml

struts.objectFactory=guice

 或

<constant name="struts.objectFactory" value="guice"/>

  

3>. 创建一个Listener

 

代码如下:

 

public class GuiceListener extends GuiceServletContextListener {

	public Injector getInjector() {
		return Guice.createInjector(new Struts2GuicePluginModule(),
				new ServletModule() {
					protected void configureServlets() {
						// Struts 2 setup
						bind(StrutsPrepareAndExecuteFilter.class).in(
								Singleton.class);
						// 对 *.do
						filter("*.do").through(StrutsPrepareAndExecuteFilter.class);
						// Our app-specific code
						// 可在UserService里用注解@ImplementedBy(UserServiceImpl.class)代替下一行
						// bind(UserService.class).to(UserServiceImpl.class);
					}
				});
	}

}

 

 

既可以在module里写定,也可以用注解来实现注入。

不用再配struts2的filter了。

然后在web.xml里配入这个listener

	<listener>
		<listener-class>com.demo.listener.GuiceListener</listener-class>
	</listener>

 在Action类里,

	@Inject
	private User user;
	
	@Inject
	private UserService userService;

 即可完成注入。

 

分享到:
评论

相关推荐

    guice-assistedinject-3.0-API文档-中文版.zip

    赠送jar包:guice-assistedinject-3.0.jar; 赠送原API文档:guice-assistedinject-3.0-javadoc.jar; 赠送源代码:guice-assistedinject-3.0-sources.jar; 赠送Maven依赖信息文件:guice-assistedinject-3.0.pom;...

    guice-3.0.jar.zip

    标题中的"guice-3.0.jar.zip"指的是Google Guice框架的一个版本3.0的归档文件,它被压缩成ZIP格式以便于传输和存储。Guice是一个轻量级的依赖注入框架,由Google开发,它使得Java开发者能够更方便地管理对象之间的...

    struts2 整合guice

    将Struts2与Guice整合可以充分利用Guice的依赖注入特性,提高Struts2应用的可测试性和模块化。 整合Struts2和Guice,首先需要在项目中引入Guice的依赖库。这通常通过在pom.xml(如果你使用的是Maven)或者build....

    guice-multibindings-3.0-API文档-中文版.zip

    赠送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-multibindings-3.0-API文档-中英对照版.zip

    赠送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-assistedinject-3.0-API文档-中英对照版.zip

    赠送jar包:guice-assistedinject-3.0.jar; 赠送原API文档:guice-assistedinject-3.0-javadoc.jar; 赠送源代码:guice-assistedinject-3.0-sources.jar; 赠送Maven依赖信息文件:guice-assistedinject-3.0.pom;...

    Struts2的第一个入门实例(三)--Struts2与Guice整合

    在本实例中,我们将深入探讨如何将Google的依赖注入框架Guice与Struts2整合,以实现更高效、更灵活的代码管理。 在Java Web开发中,依赖注入(DI)是一种设计模式,它可以帮助我们降低组件之间的耦合,使得测试和...

    guice-servlet-3.0.jar

    guice-servlet-3.0.jar

    guice-3.0.rar

    Guice-3.0是Guice的一个版本,包含了核心库guice-3.0.jar,以及与Spring和Struts2集成的扩展库guice-spring-3.0.jar和guice-struts2-plugin-3.0.jar。 1. **Guice核心概念**: - **依赖注入**:Guice的核心机制,...

    guice-3.0-API文档-中文版.zip

    赠送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文档-中文(简体)版...

    Struts2+Guice2整合。如果运行不起来你砍我

    **Struts2与Guice的整合** 整合Struts2和Guice的主要目的是将Guice的依赖注入功能引入到Struts2的控制器中,这样可以更方便地管理Action类的依赖。通常,整合步骤包括以下几点: 1. 添加Guice和Struts2-Guice插件的...

    guice-3.0-API文档-中英对照版.zip

    赠送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文档-中文(简体)-...

    guice-3.0.jar

    guice-3.0.jar ,Guice是Google开发的一个轻量级依赖注入框架(IOC)。Guice非常小而且快,功能类似与Spring,但效率上网上文档显示是它的100倍,而且还提供对Servlet,AOP,Struts等框架的支持;

    guice-3.0-rc2.jar中文-英文对照文档.zip

    注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)... (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    guice-struts2-plugin-3.0.jar

    java 开发插件jar包,与guice相关

    guice.jar/guice.jar

    guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar guice.jar

Global site tag (gtag.js) - Google Analytics