我一直在研究与我合作的公司的一些现有代码,我看到的是applicationContext.xml文件将UserDAO类声明为Bean,这很好,但在DAO类本身中,已经声明了getFromApplicationContext(ApplicationContext ctx)并返回了DAO类本身的实例。我不知道该方法在哪里被调用,谁在调用它。 DAO类正在扩展HibernateDaoSupport类
我怎么知道我必须在我的课堂上创建这个方法,因为如果我删除它,eclipse中的编译器不会抱怨。我要说的是应该有一个接口或抽象类,这将迫使我编写此方法。

public static UserDAO getFromApplicationContext(ApplicationContext ctx) {
    return (UserDAO) ctx.getBean("userDAO");
}


请任何可以解释的人。

最佳答案

通常,您不应该引用应用程序上下文,尤其是在像用户dao这样琐碎的事情中。

查找用法的一些技巧:


使用eclipse“调用层次结构”(CTRL + ALT + H)来查看该方法在哪里
使用右键单击->引用->项目以查看使用该类的位置


如果不使用它,则没有编译问题,并且xml配置中没有什么特别的内容(例如factory-method)-删除它。

09-27 14:05