Dao:
public class  DaoFactory(){
  public  UserDao getUserDao(){
     return new UserDao();
  }
 }Spring的配置文件:
<beens>
<been  id="userDao"  class="com.pk.DaoFactory   factory-method="getUserDao"></been>
</beens>
这样得到不就是一个UserDao的实例!  Daofactory是一个类呀!除了名字看去像工厂,没什么特点呀!我把它理解为,一个普通的java类,只是这个java类里面有个方法,那个方法返回的是一个UserDao对象!
如果按照我这样理解的话,那么所谓的工厂就是一个java类了,那么所有的dao是不是都可以叫做“工厂”呢!一个dao就是一个工厂吗?还有spring来产生been,就像上面的UserDao对象。spring是不是只是用来产生dao的实例对象的?我们的servce层不也要写单利吗?那么我们可不可以把servce层的实例对象交给spring来产生?那么是不是任意一个java类的实例对象都可以用spring来产生!?

解决方案 »

  1.   

    不好意思写错了:是BeanFactory
      

  2.   

    任意一个java类的实例对象都可以用spring来产生,理论上是可行的,实际中有这个必要吗?我们写的是程序,有逻辑的好吗。
     (那么所有的dao是不是都可以叫做“工厂”呢) 什么是dao? 你先去理解一下,然后再来理解工厂。你提的问题,这里已经没有了逻辑。补充:工厂可以理解成 是生产实例的地方 ,单例工厂只是一个特殊工厂罢了
      

  3.   

    用SPRING2.5 让SPRING 自动去扫描好了。