사용자 도구

사이트 도구


springframework:bean

문서의 이전 판입니다!


SpringFramework Bean

Dynamic Bean Definition - 동적 Bean 생성

  • BeanDefinitionRegistryPostProcessor를 구현한다.
    @Override
    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)
    		throws BeansException {
     
    	RootBeanDefinition beanDefinition = 
    			new RootBeanDefinition(MyServiceImpl.class); //The service implementation
    	serviceDefinition.setTargetType(MyService.class); //The service interface
    	serviceDefinition.setRole(BeanDefinition.ROLE_APPLICATION);
    	registry.registerBeanDefinition("myBeanName", beanDefinition );
    }
    // 혹은 다음과 같은 스타일
    @Override
    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
        for (String customerKey : customerKeys) { 
            String dataSourceName = "dataSource_" + customerKey;
            BeanDefinitionBuilder definitionBuilder = 
                    BeanDefinitionBuilder.genericBeanDefinition(JndiObjectFactoryBean.class); 
            definitionBuilder.addPropertyValue("jndiName", "jdbc/" + dataSourceName); 
            registry.registerBeanDefinition(dataSourceName, definitionBuilder.getBeanDefinition()); 
        }
    }
  • 해당 구현체 자체를 @Configuration으로 지정하거나,
springframework/bean.1447737975.txt.gz · 마지막으로 수정됨: 2015/11/17 13:56 저자 kwon37xi