個人認(rèn)為AOP其中的一個功能就是對Factory模式進(jìn)行了改進(jìn)。
Guice當(dāng)然也不例外,Guice是不需要寫配置文件的。
實際上這里不寫,那里也得寫,總歸要寫。
Guice需要寫Java類,
import com.google.inject.Binder;
import com.google.inject.Module;
publicclass MyModule implements Module
{
publicvoid configure(Binder binder)
{
binder.bind(PrintService.class).to(PrintServiceImpl.class);
}
}
代碼來自:http://blog.csdn.net/netHibernate/archive/2007/03/07/1523733.aspx
運行前調(diào)用進(jìn)行配置
MyModule mo=new MyModule();
Injector in=Guice.createInjector(mo);
然后進(jìn)行注入
Client client=new Client();
in.injectMembers(client);
Guice通過Java Annotations控制注入
如
publicclass Client
{
private String str="Hello world";
private PrintService service;
@Inject
void injectPrintService(PrintService service)
{
this.service=service;
}
void printString()
{
service.print(str);
}
}
嘿嘿,如果只能干這個,我還是寫Factory來得方便。
Guice還有其他功能需要進(jìn)一步研究。