Guice 界面提供程序
我对guice扩展没有太多经验。我希望得到一些指导。 有人能给我举个例子,说明如何为接口而不是具体类实现抛出提供程序 例如javax.mail.Session。如何将代码转换为抛出提供程序Guice 界面提供程序,guice,provider,throw,Guice,Provider,Throw,我对guice扩展没有太多经验。我希望得到一些指导。 有人能给我举个例子,说明如何为接口而不是具体类实现抛出提供程序 例如javax.mail.Session。如何将代码转换为抛出提供程序 公共类MailSessionProvider实现提供程序{ @注入 @命名(“邮件会话”) 私有静态字符串snName; @凌驾 公共会话get(){ 会话=空; 试一试{ Context ctx=新的InitialContext(); 返回(会话)ctx.lookup(snName); }捕获(Naming
公共类MailSessionProvider实现提供程序{
@注入
@命名(“邮件会话”)
私有静态字符串snName;
@凌驾
公共会话get(){
会话=空;
试一试{
Context ctx=新的InitialContext();
返回(会话)ctx.lookup(snName);
}捕获(NamingE例外){
}
返回会议;
}
}自GUI-3.0以来,您必须像这样使用CheckedProvider:
public class MailSessionThrowingProvider implements CheckedProvider<Session> {
@Inject
@Named("mailSession")
private static String snName;
@Override
public Session get() throws NamingException {
final Context ctx = new InitialContext();
return (Session) ctx.lookup(snName);
}
}
公共类MailSessionRowingProvider实现CheckedProvider{
@注入
@命名(“邮件会话”)
私有静态字符串snName;
@凌驾
公共会话get()引发NamingException{
final Context ctx=新的InitialContext();
返回(会话)ctx.lookup(snName);
}
}
您看过文档中的示例了吗?:是的,我看过了,除了绑定部分,它们看起来很明显。我试图绑定我的实现,但看起来我只能绑定一个具体的类,而不能绑定像Session或jdbc.Connection这样的接口。所以我一定是弄错了什么