这个 inject 没看懂。注入了什么东西?

来源:4-3 模块的组织

慕少3238855

2017-10-20 10:35

@Inject

public PriceService....{

    super(supportedCurrencies);

}

写回答 关注

1回答

  • 小明同学爱思考
    2017-10-27 11:15:58

    注入的是支持的货币类型,是一个set类型

    定义module绑定

    package org.demo.guicedemo.server.impl;
    
    import com.google.inject.AbstractModule;
    import com.google.inject.multibindings.Multibinder;
    
    public class ChinaModule extends AbstractModule {
    
    	@Override
    	protected void configure() {
    		// Adds CNY support
    		Multibinder.newSetBinder(binder(), String.class)
    			.addBinding().toInstance("CNY");
    
    	}
    
    }

    就会往集合中添加值CNY

    package org.demo.guicedemo.server.impl;
    
    import com.google.inject.AbstractModule;
    import com.google.inject.multibindings.Multibinder;
    
    public class GlobalModule extends AbstractModule {
    
    	@Override
    	protected void configure() {
    		// Adds EUR, USD support
    		Multibinder<String> currencyBinder =
    				Multibinder.newSetBinder(binder(), String.class);
    		currencyBinder.addBinding().toInstance("EUR");
    		currencyBinder.addBinding().toInstance("USD");
    	}
    
    }

    就会往集合中添加值EUR和USD

使用Google Guice实现依赖注入

谷歌大神带你重新理解依赖注入,示范Guice和Spring Boot如何协作

10116 学习 · 12 问题

查看课程

相似问题