SpringBoot: Bean @Import を手動で登録する別の方法

package cn.edu.tju.config;

import cn.edu.tju.domain.Car;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanNameGenerator;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
import org.springframework.core.type.AnnotationMetadata;

public class MyImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar {
    public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator) {
        System.out.println("this is diy bean definition2......");
        RootBeanDefinition beanDefinition = new RootBeanDefinition(Car.class);
        registry.registerBeanDefinition("car", beanDefinition);
        this.registerBeanDefinitions(importingClassMetadata, registry);
    }
}

package cn.edu.tju.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import(MyImportBeanDefinitionRegistrar.class)
public class MyConfig {
}

おすすめ

転載: blog.csdn.net/amadeus_liu2/article/details/133442272