我有一个通用界面,如下所示:
public interface DaoClass extends Closeable {
}
我有很多接口实现:
public interface PersonDao extends DaoClass {
Person getPerson(long personNo);
}
public interface BusinessDao extends DaoClass {
void setAddress(long businessNo, String address);
}
我有这样的功能:
public class DaoClassFactory {
public static <T extends DaoClass> T create(final Class<T> daoClass) {
// custom logic to return instance of this daoClass
}
}
我希望能够有类似的东西:
@Inject PersonDao personDao;
@Inject BusinessDao businessDao;
在@Controller
到工作的顶部,通过调用DaoClassFactory.create()
来创建bean,然后在它们上面调用.close()
方法来清理起来。
有没有一种通用的方法可以做到这一点而不列出XML中每种类型的单个工厂?我找不到任何办法。
非常感谢!