首页 > 编程语言 >java的guice3.0依赖注入方法

java的guice3.0依赖注入方法

时间:2023-03-05 10:04:12浏览次数:52  
标签:依赖 java guice3.0 func test import com public speaking


java的guice3.0依赖注入方法,这里采用的是官方文档的第一种注入方法。


jar包下载地址:

​https://github.com/google/guice/releases/download/3.0/guice-3.0.zip​


工程目录结构:

java的guice3.0依赖注入方法_github


接口及相应的代码模块

/**
*
*/
package com.test.func;

/**
* @filename speaking.java
* @author code by jianghuiwen
* @mail [email protected]
*
* 上午11:30:14
*/
public interface speaking {
public void saying();
}


/**
*
*/
package com.test.func.impl;

import com.test.func.speaking;

/**
* @filename JackSpeaking.java
* @author code by jianghuiwen
* @mail [email protected]
*
* 上午11:30:48
*/
public class JackSpeaking implements speaking{

/* (non-Javadoc)
* @see com.test.func.speaking#saying()
*/
@Override
public void saying() {
// TODO Auto-generated method stub
System.out.println("saying something.......");
}

}


/**
*
*/
package com.test.guice;

import com.google.inject.AbstractModule;
import com.test.func.speaking;
import com.test.func.impl.JackSpeaking;

/**
* @filename Model.java
* @author code by jianghuiwen
* @mail [email protected]
*
* 上午11:32:54
*/
public class Model extends AbstractModule{

/* (non-Javadoc)
* @see com.google.inject.AbstractModule#configure()
*/
@Override
protected void configure() {
// TODO Auto-generated method stub
bind(speaking.class).to(JackSpeaking.class);
}

}


/**
*
*/
package com.test.guice;

import com.google.inject.Guice;
import com.google.inject.Injector;
import com.test.func.speaking;

/**
* @filename Main.java
* @author code by jianghuiwen
* @mail [email protected]
*
* 上午11:23:29
*/
public class Main {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Injector injector = Guice.createInjector(new Model());
speaking speakingperson = injector.getInstance(speaking.class);
speakingperson.saying();

}

}


输出结果:

java的guice3.0依赖注入方法_ide_02


总结:

用了配置话的注入模式,不用再new一个对象,麻烦的地方就是一定要手工的配置public class Model extends AbstractModule这样一个类。


标签:依赖,java,guice3.0,func,test,import,com,public,speaking
From: https://blog.51cto.com/u_15990596/6101108

相关文章

  • mybatis中遇到的一个小问题【There is no result map named java.lang.Integer in thi
    在使用mybatis的时候,配置一个查询总数的SQL语句,发现提示下面的问题:Thereisnoresultmapnamedjava.lang.IntegerinthisSqlMap百思不得骑姐<selectid="UPP_COUPON_T......
  • java使用hibernate输出mysql数据库代码(个人笔记)
    packagecom.seo.worker.quartz;importjava.util.List;importorg.apache.log4j.Logger;importcom.seo.bean.Proxy;importcom.seo.common.dao.impl.BaseDAO;publicclass......
  • java中的static对象
    /****/packagecom.test.mysql;importorg.hibernate.Session;importorg.hibernate.SessionFactory;importorg.hibernate.Transaction;importorg.hibernate.cfg.Confi......
  • 使用jstl得加pom里的依赖
    <!--jstl--><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>taglibs</groupId><......
  • java内部类
    内部类定义:在java中允许一个类定义在另一个类内中,前者叫内部类,后者叫外部类根据内部类定义的位置分为:成员内部类:类定义在方法外;类定义在方法外并且是静态类嵌套类......
  • JAVA高级属性-关键字static
    关键字static(静态)static静态属性是指任何对象都共有的一个属性值,比如,中国人中国家的属性都是中国,这个属性不会随着对象的创建而改变,然而像是收入这种的数据会随着不同......
  • Java接口
    接口定义:抽象描述现实世界中不同事物的共同行为特征--公共的抽象方法接口不是类,接口是一种全新的概念,因此接口和类的区别是什么呢?回答:接口只有行为没有属性,但是接口也有......
  • Java Object类
    Object类含义:Object是所有类的根,及其他的父类或者间接父类都是Object优点:Object的创建是为统一管理所有类缺点:Object类当成参数的类型灵活度太高,相当于没有控制参数的......
  • Java实战(第二版)读后总结与感想
    1. 基本信息Java实战(第二版)ModernJavainAction,2ndEdition[英]拉乌尔–加布里埃尔·乌尔玛(Raoul-GabrielUrma),[意]马里奥·富斯科(MarioFusco),[英]艾伦·米克......
  • java基础语法-包机制
    包机制定义包(为了更好的组织类,java提供了包机制,用于区别类名的命名空间。)包语法的语法格式packagepkg1[.pkg2[.pkg3···]];一半利用公司域名倒置作为包名......