个人认为AOP其中的一个功能就是对Factory模式进行了改进。
Guice当然也不例外,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
运行前调用进行配置
MyModule mo=new MyModule();
Injector in=Guice.createInjector(mo);
然后进行注入
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还有其他功能需要进一步研究。