使用spring提供的LocalSessionFactoryBean来得到SessionFactory

  一直不明白,spring为什么可以通过注入LocalSessionFactoryBean的bean名称来得到SessionFactory,起初以为LocalSessionFactoryBean必然是SessionFactory的派生类,但是分析源码发现这两个类没有任何关系,只是LocalSessionFactoryBean持有了一个SessionFactory的引用,后来得知,spring在注入LocalSessionFactoryBean的时候会自动调用LocalSessionFactoryBean中的getObject方法将LocalSessionFactoryBean中的SessionFactory属性返回,来替换掉LocalSessionFactoryBean的实例,那如果我们非要得到LocalSessionFactoryBean的实例怎么办呢,很简单,就在注入bean的名称的时候前面加上‘&’即可。

posted @ 2015-01-29 10:03  程序员一一涤生  阅读(2787)  评论(0编辑  收藏  举报