日期: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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论