原文网址:Spring注册Bean--方法5:@Import+ImportBeanDefinitionRegistrar_IT利刃出鞘的博客-CSDN博客
本文介绍Spring注册Bean的方法:@Import+ImportBeanDefinitionRegistrar。
注册Bean的方法我写了一个系列,见:Spring注册Bean(提供Bean)--方法大全_IT利刃出鞘的博客-CSDN博客
- package com.knife.registrar;
-
- import com.knife.entity.MyBean;
- import org.springframework.beans.factory.support.BeanDefinitionRegistry;
- import org.springframework.beans.factory.support.RootBeanDefinition;
- import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
- import org.springframework.core.type.AnnotationMetadata;
-
- public class MyImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar {
- /**
- * AnnotationMetadata:当前类的注解信息
- * BeanDefinitionRegistry:BeanDefinition注册类;
- * 把所有需要添加到容器中的bean;调用
- * BeanDefinitionRegistry.registerBeanDefinition手工注册进来
- */
- @Override
- public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata,
- BeanDefinitionRegistry registry) {
-
- // 可以判断对象是否已经注册到容器
- // boolean definition = registry.containsBeanDefinition("com.knife.example.entity.MyBean");
-
- //指定Bean定义信息
- RootBeanDefinition beanDefinition = new RootBeanDefinition(MyBean.class);
-
- //注册一个Bean,指定bean名
- registry.registerBeanDefinition("myBean", beanDefinition);
- }
- }
- package com.knife.entity;
-
- public class MyBean {
- public String sayHello() {
- return "Hello World";
- }
- }
上边是文章的部分内容,为统一维护,全文已转移到此网址:Spring注册Bean-方法5:@Import+ImportBeanDefinitionRegistrar - 自学精灵