【发布时间】:2012-10-16 16:01:50
【问题描述】:
我对 guice 扩展没有太多经验。我会很感激一些指导。 有人可以给我一个示例,说明如何为接口而不是具体类实现抛出提供程序。
例如 javax.mail.Session。如何将代码转换为 throwing 提供程序?
public class MailSessionProvider implements Provider<Session> {
@Inject
@Named("mailSession")
private static String snName;
@Override
public Session get() {
Session session = null;
try {
Context ctx = new InitialContext();
return (Session) ctx.lookup(snName);
} catch (NamingException e) {
}
return session;
}
}
【问题讨论】:
-
是的,我做到了,它们看起来很明显,除了装订部分。我试图绑定我的实现,看起来我只能绑定一个具体的类,而不是像 Session 或 jdbc.Connection 这样的接口。所以一定是我弄错了什么