ca888亚洲娱乐城

接下来让我们看看Spring如何实现原型呢?1)首先让我们来定义Bean“原型”:Bean定义,所有对象将根据Bean定义创建;在此我们只是简单示例一下,不会涉及依赖注入等复杂实现:BeanDefinition类定义属性“class”表示原型类,“id”表示唯一标识,“scope”表示作用域,具体如下:packagecn.javass.spring.chapter3;publicclassBeanDefinition{??//单例??publicstaticfinalintSCOPE_SINGLETON=0;??//原型??publicstaticfinalintSCOPE_PROTOTYPE=1;??//唯一标识??privateStringid;??//class全限定名??privateStringclazz;??//作用域privateintscope=SCOPE_SINGLETON;??//鉴于篇幅,省略setter和getter方法;}2)接下来让我们看看Bean定义注册表,类似于单例注册表:packagecn.javass.spring.chapter3;importjava.util.HashMap;importjava.util.Map;publicclassBeanDifinitionRegister{??//bean定义缓存,此处不考虑并发问题privatefinalMapDEFINITIONS=?newHashMap();??publicvoidregisterBeanDefinition(StringbeanName,BeanDefinitionbd){????//1.本实现不允许覆盖Bean定义????if(DEFINITIONS.containsKey(bd.getId())){??????thrownewRuntimeException("已存在Bean定义,此实现不允许覆盖");????}????//2.将Bean定义放入Bean定义缓存池????DEFINITIONS.put(bd.getId(),bd);??}??publicBeanDefinitiongetBeanDefinition(StringbeanName){????returnDEFINITIONS.get(beanName);??}publicbooleancontainsBeanDefinition(StringbeanName){????returnDEFINITIONS.containsKey(beanName);??}}?3)接下来应该来定义BeanFactory了:packagecn.javass.spring.chapter3;importorg.springframework.beans.factory.config.SingletonBeanRegistry;publicclassDefaultBeanFactory{??//Bean定义注册表??privateBeanDifinitionRegisterDEFINITIONS=newBeanDifinitionRegister();???//单例注册表??privatefinalSingletonBeanRegistrySINGLETONS=newSingletonBeanRegister();???publicObjectgetBean(StringbeanName){????//1.验证Bean定义是否存在????if(!DEFINITIONS.containsBeanDefinition(beanName)){??????thrownewRuntimeException("不存在["+beanName+"]Bean定义");????}????//2.获取Bean定义????BeanDefinitionbd=DEFINITIONS.getBeanDefinition(beanName);????//3.是否该Bean定义是单例作用域????if(bd.getScope()==BeanDefinition.SCOPE_SINGLETON){??????//3.1如果单例注册表包含Bean,则直接返回该Bean??????if(SINGLETONS.containsSingleton(beanName)){????????returnSINGLETONS.getSingleton(beanName);??????}??????//3.2单例注册表不包含该Bean,??????//则创建并注册到单例注册表,从而缓存??????SINGLETONS.registerSingleton(beanName,createBean(bd));??????returnSINGLETONS.getSingleton(beanName);????}????//4.如果是原型Bean定义,则直接返回根据Bean定义创建的新Bean,//每次都是新的,无缓存????if(bd.getScope()==BeanDefinition.SCOPE_PROTOTYPE){??????returncreateBean(bd);????}????//5.其他情况错误的Bean定义????thrownewRuntimeException("错误的Bean定义");??}??publicvoidregisterBeanDefinition(BeanDefinitionbd){????DEFINITIONS.registerBeanDefinition(bd.getId(),bd);??}???privateObjectcreateBean(BeanDefinitionbd){????//根据Bean定义创建Bean????try{??????Classclazz=Class.forName(bd.getClazz());??????//通过反射使用无参数构造器创建Bean??????returnclazz.getConstructor().newInstance();????}catch(ClassNotFoundExceptione){??????thrownewRuntimeException("没有找到Bean["+bd.getId()+"]类");????}catch(Exceptione){??????thrownewRuntimeException("创建Bean["+bd.getId()+"]失败");????}??}}?其中方法getBean用于获取根据beanName对于的Bean定义创建的对象,有单例和原型两类Bean;registerBeanDefinition方法用于注册Bean定义,私有方法createBean用于根据Bean定义中的类型信息创建Bean。我陪他一起回了公司。说不行,就不行。此外,阿里钱盾、开心连连看、iPhone密码锁、百度手机助手等知名软件也都榜上有名。
您现在的位置:产品首页 >> 滤芯过滤器系列 >> 浓酸碱过滤器 >> 浓酸碱过滤器
  • 产品名称: 浓酸碱过滤器

  浓酸碱过滤器外壳由不锈钢或碳钢制成,内衬PE或衬耐强酸碱衬胶,过滤浓酸浓碱。能够满足多种腐蚀液体过滤。

主要技术参数:
工作压力:0.10mPa-0.6mPa
工作温度:5℃~40℃
过滤精度:0.1μm~10μm
单台流量:1.0 m³/h ~100 m³/h