飞奔的炮台 发表于 2021-10-20 17:26:50

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

https://www.uoften.com/program/jsp/20180413/48179.html
页: [1]
查看完整版本: JSP 开发之Spring Boot 动态创建Bean