我一直试图让Guice工作但最终得到这个:
类必须具有一个(且只有一个)构造函数
我的界面:
public interface AddrBookStore {
public Contact getContactByKey(String key);
public void addContact(Contact c);
}
Run Code Online (Sandbox Code Playgroud)
实施:
public class RdbmsBasedAddrBookStore implements AddrBookStore {
private Connection connection;
public RdbmsBasedAddrBookStore(Connection connection) {
this.connection = connection;
}
@Override
public Contact getContactByKey(String key) throws AddrBookException
{}
@Override
public void addContact(Contact c) throws AddrBookException
{}
}
Run Code Online (Sandbox Code Playgroud)
绑定模块:
public class ABguiceConfingModule extends AbstractModule {
@Override
protected void configure() {
bind(AddrBookStore.class).to(RdbmsBasedAddrBookStore.class);
}
}
Run Code Online (Sandbox Code Playgroud)
AddrBook我注射的客户:
public class AddrBook {
private AddrBookStore store;
@Inject
public AddrBook(AddrBookStore store)
{ …Run Code Online (Sandbox Code Playgroud)