JSP 开发之Spring Boot 动态创建Bean

1、通过注解@Import导入方式创建

a、新建MyImportBeanDefinitionRegistrar注册中心

Java代码 

import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.GenericBeanDefinition;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
import org.springframework.core.type.AnnotationMetadata;

import web0.services.Myservice;


public class MyImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar {

  protected String BEAN_NAME = "myservice";

  public void dynamicConfiguration() throws Exception {
  }

  @Override
  public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
    if (!registry.containsBeanDefinition(BEAN_NAME)) {
      GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
      beanDefinition.setBeanClass(Myservice.class);
      beanDefinition.setSynthetic(true);
      registry.registerBeanDefinition(BEAN_NAME, beanDefinition);
    }
  }
}

 b、在配置类上加@Import引入上面的类

@Import(MyImportBeanDefinitionRegistrar.class)
public class TestConfig{
}

 c、这样操作后就可以使用spring的方式获取该bean了

 以上就是JSP 中Spring Boot 动态创建Bean的简单实例,如有疑问请大家留言或者到本站的社区进行讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

01-27 06:14
查看更多