사용자 도구

사이트 도구


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()); 
        }
    }
  • * postProcessBeanFactory는 필요없을 경우 구현하지 않고 빈 메소드로 남겨둔다.

설정에 등록

참조

springframework/bean.1447738079.txt.gz · 마지막으로 수정됨: 2015/11/17 13:57 저자 kwon37xi