`
phantom
  • 浏览: 162433 次
社区版块
存档分类
最新评论

Guice 示例(转)

阅读更多

最近在研究Google 的 Guice,感觉用起来挺简单的,入门应该比Spring要容易的多,这也许是因为Guice刚刚出世,很功能还没有完善吧,但据说Google内部已经在用了,我想再过一段时间取Spring而代之也不是没有可能,至少也能跟Spring平分天下吧。

下面是一个简单的小实例

1.业务逻辑接口

package com.hawkunion.guice;

/**
*
* @author 杜庆明
*/
public interface Work {
     public void sayHello(String userName);
}

2.实现接口的业务逻辑

package com.hawkunion.guice;

/**
*
* @author 杜庆明
*/
public class WorkImpl implements Work{
    
     public void sayHello(String userName) {
         System.out.println("Hello! 欢迎你:"+userName);
     }
    
}

3.要用到业务逻辑的类

package com.hawkunion.guice;

import com.google.inject.Inject;

/**
*
* @author 杜庆明
*/
public class RunWorkClass {
    
     private Work work = null;
    
     @Inject
     public void setWork(Work workimpl){
         this.work = workimpl;
     }
    
     public void runWork(){
         work.sayHello("阿杜");
     }    
}

4.Module

package com.hawkunion.guice;

import com.google.inject.Binder;
import com.google.inject.Module;

/**
*
* @author 杜庆明
*/
public class MyModule implements Module {

     public void configure(Binder binder) {
         binder.bind(Work.class).to(WorkImpl.class);
     }

}

 

5.测试

package com.hawkunion.guice;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;

/**
*
* @author 杜庆明
*/
public class TestWork {
    
     public static void main(String args[]){
         RunWorkClass runWorkClass = new RunWorkClass();
         Module module = new MyModule();
        
         Injector in = Guice.createInjector(module);//把module给Guice
         in.injectMembers(runWorkClass);//让Guice把需要注入的业务逻辑注入给对象
         runWorkClass.runWork();//   运行work
     }
}

   。。。

分享到:
评论

相关推荐

    初试Guice(转)

    **标题:“初试Guice(转)”,描述:“demo 很好的例子,博文链接:https://phantom.iteye.com/blog/92183”** 这篇文章提到了Guice,这是一个由Google开发的轻量级Java依赖注入框架,用于简化Java应用程序的构建和...

    Guice 中文文档 例子

    "Guice 中文文档 例子" 包含了 Guice 的中文文档和实际操作示例,这对于学习 Guice 非常有帮助。文档可能涵盖了以下内容: 1. **基础概念介绍**: 解释依赖注入的概念和 Guice 的基本工作原理。 2. **模块配置**: ...

    Guice4.2_jar及使用手册及示例

    Spring框架的依赖注入是家喻户晓的,但是在实际的开发中我们想使用便捷的依赖注入功能,但是又不想引入Spring框架的复杂性,该怎么办呢? Google Guice一个不错选择。本资源中GUICE的使用方法和使用示例

    Guice用户中文指南

    ### Guice用户中文指南 #### 一、简介 Guice是一个专门为Java 5及后续版本设计的超轻量级依赖注入框架。它旨在简化应用程序组件之间的依赖管理,并提供了一个更为简洁、灵活的方式来处理对象间的耦合关系。Guice的...

    shiro,guice集成

    ### Apache Shiro 与 Guice 集成详解 #### 概述 在现代软件开发过程中,集成不同的框架和技术是常见的需求。Apache Shiro 是一个强大的、易用的 Java 安全框架,提供了认证、授权、加密和会话管理功能。而 Google ...

    基于guice的简单项目

    这个“基于Guice的HelloWorld项目”就是一个简单的示例,用于展示如何使用Guice进行依赖注入。 首先,我们需要理解Guice的核心概念——Injector。Injector是Guice的核心类,它负责创建对象并管理它们的生命周期。...

    Google Guice: Agile Lightweight Dependency Injection Framework

    本书《Google Guice: Agile Lightweight Dependency Injection Framework》旨在深入探讨Guice的核心概念和技术细节,并通过丰富的示例和背景信息帮助读者全面掌握这一强大的工具。 #### 二、Guice概述 Guice是由...

    mybatis-guice

    这个项目中的 "mybatis-guice" 压缩包可能包含了示例代码、配置文件以及运行该项目所需的所有资源。通过学习和分析这些代码,开发者可以深入理解如何在实际项目中集成 MyBatis 和 Guice,以及它们如何协同工作以提升...

    google-guice用户手册

    通过上述示例可以看出,Guice 在保持代码简洁的同时,大大简化了依赖管理和单元测试的过程。随着应用规模的增长,这种简洁性的好处将越来越明显。对于那些寻求更高级、更灵活的依赖注入框架的开发者来说,Guice 是一...

    struts2 整合guice

    在压缩包`guiceStruts2`中,可能包含了上述步骤的示例代码,包括pom.xml文件、Guice模块、Struts2配置文件、Action类以及web.xml配置。通过研究这些文件,你可以更深入地理解如何将Struts2与Guice整合。

    jersey2.15集成guice笔记

    **五、示例代码** ```java // Guice模块 public class MyGuiceModule extends AbstractModule { @Override protected void configure() { bind(MyService.class).to(MyServiceImpl.class); } @Provides @...

    scala-dropwizard-guice-example:说明如何在 Dropwizard 应用程序中为依赖注入设置 Guice 的示例

    Scala 中的 Dropwizard-Guice 示例 这个存储库包含一个简单的例子,展示了如何在 Dropwizard 中使用 Guice 进行依赖注入。 Scala 是所选择的语言,但请注意,这里是非常“Java 的咖啡脚本”,而不是任何更复杂或更...

    guice入门教程helloworld篇

    Guice,全称为Google Guice,是...通过创建简单示例,如“HelloWorld”程序,可以帮助我们更好地理解和掌握Guice的用法。同时,阅读博文(链接已给出)会提供更深入的指导和实际案例,以便进一步探索Guice的高级特性。

    Guice使用练习

    10. **实战示例**:博客中可能包含了一些实际的代码示例,展示了如何在项目中引入Guice,配置Module,以及如何使用`Injector`创建和管理对象。 通过阅读这篇博客,读者应该能够理解Guice的基本概念,学会如何在自己...

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

    在提供的`struts2-guice`压缩包中,可能包含了实现以上步骤的示例代码,包括Struts2的配置文件、Guice模块、Action类等,供开发者参考和学习。通过这样的整合,开发者可以利用Guice的强大功能,让Struts2应用的代码...

    cucumber-guice-1.1.4.zip

    5. `README.md` 或 `README.txt` - 提供项目简介、安装指南和使用示例。 6. `LICENSE` - 许可证文件,说明该项目遵循的开源协议,如Apache 2.0、GPLv2等。 7. `.gitignore` - 指定版本控制系统忽略的文件或目录。 8....

    ratpack-guice-0.9.8.zip

    《Ratpack与Guice集成:打造高效Web应用》 在现代软件开发中,构建高效、可扩展的Web应用程序是一项重要...同时,Aeromock的实现也为我们提供了一个很好的示例,展示如何在实践中应用这些技术,以满足特定项目的需求。

    Guice与Spring框架的区别.pdf

    在提供的示例中,我们看到 Guice 如何通过 `@Inject` 注解的 `setService` 方法来注入 `MyService` 实例。同时,`MyModule` 类定义了 Guice 如何创建和管理这些依赖,比如通过 `binder.bind()` 方法声明 `MyService`...

    guice集成jpa

    以下是一个示例配置: ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...

Global site tag (gtag.js) - Google Analytics