日期:2014-05-19  浏览次数:20648 次

spring 中bean问题求助。
Java code

Spirng中的一个bean UserService 为singleton:
pubic class UserService
{
        @Resource
        private User user; //被spring通过注解注入的一个对象
        

        public void userMethod
    {
        User user1 = user; //如何保证该user每次用时都是自动创建的新对象
    }
 
}


------解决方案--------------------
你把bean的范围改了就好了啊,改为Property,singleton这个是单例
------解决方案--------------------
将bean的scope设为prototype就可以了。
------解决方案--------------------
<bean ....... scope="prototype">.....</bean>
------解决方案--------------------
UserService这个一样设置Property,你UserService这个都是单例,里面的属性肯定单例了啊
------解决方案--------------------
在SSH中scope应该设置为Prototype,因为你每次请求的Action返回的状态未必相同。但是像basedao这样在一个只会存在一个共享的bean时,你就用singleton。

------解决方案--------------------
这个应该是个问题,因为你Service是singleton的,那么他只会初始化一次,很明显其内部是user属性也只可能在service初始化的时候赋值,要么你就每次调用的时候new user。要么你就使用完成后把service变成null。其他的暂时没想到什么方法