Java 在Google Guice中使用参数执行函数
我有以下模块要转换为Guice:Java 在Google Guice中使用参数执行函数,java,guice,Java,Guice,我有以下模块要转换为Guice: Serializer serializer = new SerializerBinaryImpl("testdong"); Dong dong = new DongImplementation(); View view = new TextView(dong); dong.setSerializer(serializer); view.setDong(dong); 以下是我迄今为止的情况: bind(String.class).annotatedWith(Na
Serializer serializer = new SerializerBinaryImpl("testdong");
Dong dong = new DongImplementation();
View view = new TextView(dong);
dong.setSerializer(serializer);
view.setDong(dong);
以下是我迄今为止的情况:
bind(String.class).annotatedWith(Name.class).toInstance("testdong");
bind(Serializer.class).to(SerializerBinaryImpl.class);
bind(Dong.class).to(DongImplementation.class);
bind(View.class).to(TextView.class);
//dong.setSerializer(serializer); - Not sure how to do
//view.setDong(dong); - Not sure how to do
简单的解决方案是最好的解决方案。这只是一个简单的项目。您必须使用
@Inject
对方法进行注释(这称为:
这不再是要在模块中执行的配置。Guice将自动注入:
文本视图中的
实现
实现中的
SerializerBinaryImpl
@Inject
public void setSerializer(Serializer serializer) {
this.serializer = serializer;
}
@Inject
public void setDong(Dong dong) {
this.dong = dong;
}