JSP 开发之Spring Boot 动态创建Bean

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的简单实例,如有疑问请大家留言或者到本站的社区进行讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!