因为DAO层一般无状态。而实体bean要保持状态信息,或者说不同请求内容可能是不一样的,所以要用不同的实例。

解决方案 »

  1.   

    service层调用dao层就直接注入,而使用bean就要实例化new一下,为什么呢,dao层是会话bean吗,怎么是无状态
      

  2.   


    service层调用dao层就直接注入,而使用bean就要实例化new一下,为什么呢,dao层是会话bean吗,怎么是无状态
      

  3.   

    dao层可以讲是结构,只是加工处理数据的,bean是存放数据的地方,假设每个用户都登录系统,不可能只有一个bean,A有A的用户名密码,B有B的,只用一个bean不new的话,到底谁是谁
      

  4.   

    这个只是实现的问题,实体Bean也可以在XML里配置,scope设置为prototype,这样每次请求都会new一个新的bean,scope的默认值是singleton
      

  5.   


    service层调用dao层就直接注入,而使用bean就要实例化new一下,为什么呢,dao层是会话bean吗,怎么是无状态
    DAO层一般无状态指的是DAO层一般不会有和实例有关的信息,而不是说DAO层是回话bean。
      

  6.   

    其实1楼正解,dao无状态,可以注入的方式。bean是有状态的,尽量不要注入,不过你非要注入的话也可以,设为prototype。但是那样的话你自己都会感觉特别乱的