类里的域变量是很常用的,但如果系统用了spring,就不能用域变量了吗?
听说spring的bean管理是singleton的,试着在一个spring管理的bean中加一个成员变量并设置初值,在其中一个方法中改变它,当发起一个新请求时,这个成员变量已经不是原来的初值了,这还得了!

解决方案 »

  1.   

    bean默认是singleton,但不一定是singleton
      

  2.   

    一般设置为singleton的bean都是无状态的,例如service,dao,这些对象没有需要去修改的成员变量
      

  3.   

    有需要的话你可以修改scope为prototype
      

  4.   

     就是啊,再property中设置该成员的值就可以了
      

  5.   

    spring有两种类型的头文件,其中一种类型在bean标签 里边添加上属性:scope="prototype"后就是一个线程一个实例了,就不存在你所说的问题了,如果你的spring的dtd文件不支持该属性,请查看下相关的资料,他那个也有设置是否是单例的东西,但是也有这样的设置,具体是哪个属性,我忘了
      

  6.   

    property 类型同new 一个对象类似
      

  7.   

    Spring 只不过提供了对象的注入方式和事务的管理机制,就是灵活一些,没什么不同
    至于其他的东东,原来这么写,加入Spring后依然这么写
    spring的bean管理是有程序员自己设定的学框架,首先得理解框架!