`
lee3836
  • 浏览: 68481 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

guice入门教程helloworld篇

阅读更多
guice据称比spring运行快100倍,我觉得网上是在瞎忽悠的。guice的实现是借助jdk1.5的Annotation特性实现的,如果你的jdk还是1.4请不要用哦

下面带大家一起helloworld。
新建一个web工程(就是为了方便jar的部署):guiceDemo
引入下面的jar文件

aopalliance.jar

  guice-1.0.jar

  guice-servlet-1.0.jar

  guice-spring-1.0.jar

  guice-struts2-plugin-1.0.jar


本类只用到guice-1.0.jar当然,为了测试要引入junit.jar

现在开始写第一种实现,用Module实现。

创建接口HelloGuice.java
package org.lee.guice.module.demo;

public interface HelloGuice {
 public void sayHello();[/color]
}


接口实现类HelloGuiceImpl.java
package org.lee.guice.module.demo;

public class HelloGuiceImpl implements HelloGuice {
	public void sayHello() {
		System.out.println("hello word");
		
	}

}


创建HelloGuiceModule.java(这里我告诉大家,因为它比spring快100倍其实就是说ioc。这个文件替代了spring的配置文件)
package org.lee.guice.module.demo;

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

public class HelloGuiceModule implements Module{

	@Override
	public void configure(Binder binder) {
		binder.bind(HelloGuice.class).to(HelloGuiceImpl.class);
		
	}

}


测试类TestGuice.java
package org.lee.guice.module.demo;

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

import junit.framework.TestCase;

public class TestGuice extends  TestCase{
	public void testHelloGuice(){
		Injector injector = Guice.createInjector(new HelloGuiceModule());
		HelloGuice helloGuice = injector.getInstance(HelloGuice.class);
		helloGuice.sayHello();
	}

}


运行结果helloword。
我在测试的是很发现他很慢,当然比spring快多了
用注解的方式注入,发现不是一般的快,那是相当的快
第二种实现:
业务接口
package org.lee.guice.Annotation.demo;

import com.google.inject.ImplementedBy;

@ImplementedBy(HelloGuiceImpl.class)
public interface HelloGuice {
 public void sayHello();
}

业务接口实现:
package org.lee.guice.Annotation.demo;

public class HelloGuiceImpl implements HelloGuice {

	@Override
	public void sayHello() {
		System.out.println("hello word");
		
	}

}

测试
package org.lee.guice.Annotation.demo;

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

import junit.framework.TestCase;

public class TestGuice extends  TestCase{
	public void testHelloGuice(){
	Injector injector = Guice.createInjector();
	HelloGuice  helloGuice = injector.getInstance(HelloGuice.class);
	helloGuice.sayHello();
	}

}


结果测试时helloword
第二种实现和第一种的区别在于注入通过注解如入的
0
2
分享到:
评论
3 楼 gaoyuanyuan121 2011-04-14  
呃,是测试那儿我自己写错了,呵呵,完美运行~
2 楼 gaoyuanyuan121 2011-04-14  
第二个方法的确很简单,但是怎么运行出错,貌似是没有注入成功~~
1 楼 somefuture 2009-11-15  
不错啊,不知道你现在用Guice开发吗?

相关推荐

    基于guice的简单项目

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

    guice入门学习资料

    guice 学习资料,快速掌握guice的编程技巧以及了解其机制。

    google guice基础例子

    Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法,而不仅仅是setter...

    guice.jar/guice.jar

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

    Guice教程(Google)

    #### 四、Guice入门 Guice通过使用`@Inject`注解来自动注入依赖项,这使得代码更简洁且易于理解。例如,如果有一个`UserService`类依赖于`UserRepository`,可以这样定义: ```java public class UserService { ...

    Guice 中文文档 例子

    1. **基础概念介绍**: 解释依赖注入的概念和 Guice 的基本工作原理。 2. **模块配置**: 详细介绍如何编写 Module 和配置绑定。 3. **注解使用**: 展示如何使用 @Inject、@Singleton 等注解进行依赖注入。 4. **高级...

    Guice用户中文指南

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

    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的核心机制,...

    shiro,guice集成

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

    google guice 3.0源码

    Google Guice,全称为GoogleInject,是一个轻量级的依赖注入框架,由Google开发并开源。Guice的目标是简化Java应用程序的构造和管理,通过自动装配对象依赖关系,让开发者可以专注于业务逻辑而不是对象的创建和组装...

    Google Guice: Agile Lightweight Dependency Injection Framework

    ### Google Guice: 敏捷轻量级依赖注入框架详解 #### 一、引言与背景 在现代软件开发中,依赖注入(Dependency Injection, DI)已成为构建灵活、可维护和可测试应用程序的重要手段之一。Google Guice作为一款100%...

    guice超轻量级依赖注入

    Guice,全称为Google Guice,是一款由Google开发的轻量级依赖注入(Dependency Injection,简称DI)框架,主要用于简化Java应用的初始化和组件管理。依赖注入是一种设计模式,它可以帮助开发者解耦代码,提高软件的...

    Java on Guice

    “Java on Guice”这篇文档探讨了依赖注入(Dependency Injection, DI)在Java应用中的实践方式及其带来的诸多好处。它由Google的Bob Lee和Kevin Bourrillion撰写,并于2007年4月26日发布。文档通过一系列问题引导...

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

    赠送jar包:guice-4.0.jar; 赠送原API文档:guice-4.0-javadoc.jar; 赠送源代码:guice-4.0-sources.jar; 赠送Maven依赖信息文件:guice-4.0.pom; 包含翻译后的API文档:guice-4.0-javadoc-API文档-中文(简体)版...

    guice 教程

    NULL 博文链接:https://shenbai.iteye.com/blog/1665614

    初试Guice(转)

    在阅读《初试Guice》这篇博客文章时,你可能会学习到如何设置Guice模块,如何声明和注入依赖,以及如何在项目中集成和使用Guice。作者可能会分享一些最佳实践和常见陷阱,帮助读者更好地理解和应用Guice。此外,文章...

    google Guice 1.0 用户指南 中文

    "google Guice 1.0 用户指南 中文" Guice 是一个超轻量级的、下一代的、为 Java 5 及后续版本设计的依赖注入容器。它可以帮助 Java 企业应用开发社区解决连接对象方面的问题,例如 Web 应用如何访问中间层服务、...

    初试Guice测试文件

    【标题】: Guice框架初探与测试实践 在Java世界中,依赖注入(Dependency Injection,简称DI)是一种常见的设计模式,它可以帮助我们构建松耦合、可测试的代码。Guice是Google提供的一款轻量级的DI框架,用于简化...

Global site tag (gtag.js) - Google Analytics