我的工厂类SysUserManagerFactory 的 sysUserTypeManager 是通过spring 注入的,
每次要用到SysUserTypeManager 
都可以通过SysUserManagerFactory.getSysUserTypeManager() 得到,所以getSysUserTypeManager()方法是static 本来setSysUserTypeManager()方法是static 的。我掉了
这是WEB项目。性能什么样?
想问在spring 下什么设置工厂类?
能否给出详细的说明?
public class SysUserManagerFactory {

private static SysUserTypeManager sysUserTypeManager;

public static SysUserTypeManager getSysUserTypeManager() {
return sysUserTypeManager;
}
public  void setSysUserTypeManager(SysUserTypeManager sysUserTypeManager) {
SysUserManagerFactory.sysUserTypeManager = sysUserTypeManager;
}}

解决方案 »

  1.   

    下载spring, 然后docs\reference\pdf\spring-reference.pdf
    3.2.3.2.2. Instantiation using a static factory method
      

  2.   

    什么性能怎么样?性能没问题,代码有问题,改为:
    public class SysUserManagerFactory {
        
        private static SysUserTypeManager sysUserTypeManager = new SysUserTypeManager();
        
        public static SysUserTypeManager getSysUserTypeManager() {
            return sysUserTypeManager;
        }
        ...
    }或者:public class SysUserManagerFactory {
        
        private static SysUserTypeManager sysUserTypeManager;
        
        public static SysUserTypeManager getSysUserTypeManager() {//synchronized爱加不加
            if(sysUserTypeManager==null){
                sysUserTypeManager = new SysUserTypeManager();
            }
            return sysUserTypeManager;
        }
        ...
    }
      

  3.   

    上楼所说是没有用到spring 时要那么做的
      

  4.   

    那是Singleton, 不是Factory. 
    spring的bean有不同的scope, prototype/Singleton
      

  5.   

    如实际所望WEB项目的Factory 生产的类大多不是Singleton小弟刚用spring不久,谁能给一个好的spring 结合工厂设计模式的工厂类
      

  6.   

    spring本来就是替代工厂的 、、、、、、、、、、、
      

  7.   

    spring支持旧的工厂类生成实例的,他们两个不冲突, bean是有个factory-method属性,spring pro里有介绍。
      

  8.   


    <bean id="sysUserTypeManager" class="com.xxxx.SysUserManagerFactory" factory-method="getSysUserTypeManager" />java代码可以是一个通用的singleton pattern.public class SysUserManagerFactory {
        
        private static SysUserTypeManager sysUserTypeManager;
        
        public static SysUserTypeManager getSysUserTypeManager() {
            if(SysUserTypeManager==null){
                SysUserTypeManager = new SysUserTypeManager();
            }
            return sysUserTypeManager;
        }}
      

  9.   

    说出问题的都给分!谢谢各位了希望给一个好的spring 结合工厂设计模式的工厂类
      

  10.   

    你的问题在你自己这里 你到底要干什么? 
    还是先去了解spring可以为你做什么!