当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

Guice整合Struts2简易教程[Java编程]

赞助商链接



  本文“Guice整合Struts2简易教程[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1.Guice简介

2.Helloworld

简介:本文为若何用Guice举行DI和若何整合Struts2

1. 简介

Guice是Google推出的一款DI框架,因其优异荣获了Jolt大奖.和Spring相比,要轻量很多.运行时只要指定一个配置类,实现其com.谷歌.inject.Module接口,指定接口和实现类便可.

需求的底子jar包有

Guice需求的jar包,假如是web利用,需求guice-servlet-2.0.jar,整合Struts2则需求guice-struts2-plugin-2.0.jar

aopalliance.jar

guice-2.0.jar

guice-servlet-2.0.jar

guice-struts2-plugin-2.0.jar

Struts2需求的jar包

commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

commons-logging-1.0.4.jar

freemarker-2.3.13.jar

ognl-2.6.11.jar

struts2-core-2.1.6.jar

xwork-2.1.2.jar



Guice与Spring的比较(此表格转自网络)
  Spring Guice
利用XML 利用将类与类之间的关系断绝到xml中,由容器负责注入被调用的对象,因此叫做依靠注入 不利用xml,将类与类之间的关系断绝到Module中,申明何处需求注入,由容器按照Module里的描写,注入被调用的对象.
利用Annotation   利用

支持自定义Annotation标注,关于相同的接口定义的对象引用,为它们标注上差别的自定义Annotation注释,便可以到达同一个类里边的同一个接口的引用,注射给差别的实现,在Module里用标注做辨别,机动性大大增添.

利用Annotation也未必是功德,范型等新特点也未必是功德,目前大多的服务器均不支持jdk1.5,wls要9从前才支持,而目前的客户由于价钱缘由也很少选用wls9的,至少我们做过的项目中都没有.功效再强,客户不需求,何用?
运行效率 装载spring配置文件时,需解析xml,效率低,getBean效率也不高,不过利用环境不会触及到getBean,只有生产环境的时刻会用到getBean,在装载spring利用程序的时刻,已经完成全部的注射,所以这个低效率的问题不是问题. 利用Annotation,cglib, 效率高与spring最明显的一个辨别,spring是在装载spring配置文件的时刻把该注入的地方都注入完,而Guice呢,则是在利用的时刻去注射,运行效率和机动性高.
类耦合度 耦合度低,夸大类非侵入,以外部化的方法处理依靠关系,类里边是很干净的,在配置文件里做文章,对类的依靠性极低. 高,代码级的标注,DI标志@inject侵入代码中,耦合到了类层面上来,何止侵入,简直侵犯,代码耦合了过量guice的东西,大大背离了依靠注入的初衷,关于代码的可保护性,可读性均不利
类编写时 需求编写xml,配置Bean,配置注入 只需声明为@inject,等着被注入,

最后在统一的Module里声明注入方法
仅支持IOC 否,spring目前已经涉猎很多部份 是,目前仅仅是个DI容器
能否易于代码重构 统一的xml配置进口,更改简单 配置工作是在Module里举行,和spring异曲同功
支持多种注入方法 构造器,setter办法 Field,构造器,setter办法
机动性   1,假好像一个接口定义的引用需求注入差别的实现,就要编写差别的Module,烦琐

2,动态注入

假如你想注射的一个实现,你还未知呢,怎么办呢,spring是没办法,事前在配置文件里写死的,而Guice便可以做到,就是说我想注射的这个对象我还不知道注射给谁呢,是在运行时才能得到的的这个接口的实现,所以这就大大提高了依靠注射的机动性,动态注射.
与现有框架集成度 1,高,众多现有优异的框架(如struts1.x等)均供应了spring的集成进口,并且spring已经不但仅是依靠注入,包含众多方面.

2,Spring也供应了对Hibernate等的集成,可大大简化开辟难度.

3,供应关于orm,rmi,webservice等等接口众多,体系宏大.
1,可以与现有框架集成,不过仅仅依靠一个效率稍高的DI,就想代替spring的地位,有点难度.
配置复杂度 在xml中定位类与类之间的关系,难度低 代码级定位类与类之间的关系,难度稍高


  以上是“Guice整合Struts2简易教程[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Guice与Spring框架的辨别
  • <b>Google Guice模范讲授之操纵入门</b>
  • Guice整合Struts2简易教程
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .