通过@Import手动装配
- 创建配置类:HelloWordConfiguration,并添加@Configuration注解;
使用@Bean注解,定义一个名为“helloWorld”的Bean。
@Configurationpublic class HelloWordConfiguration {@Beanpublic String helloWorld() {return "Hello World 2021";}}
一、Import配置类
创建启动类HelloWorldBootstrap;
通过@Import(HelloWordConfiguration.class)装配Bean;
@Import(HelloWordConfiguration.class)public class HelloWorldBootstrap {public static void main(String[] args) {ConfigurableApplicationContext context = new SpringApplicationBuilder(HelloWorldBootstrap.class).web(WebApplicationType.NONE).run(args);String helloWorld = context.getBean("helloWorld", String.class);System.out.println(helloWorld);context.close();}}
-
二、自定义ImportSelector
实现HelloWorldImportSelector,在selectImports方法中返回HelloWordConfiguration的完全限定名;
public class HelloWorldImportSelector implements ImportSelector {@Overridepublic String[] selectImports(AnnotationMetadata importingClassMetadata) {return new String[]{"com.xxx.HelloWordConfiguration"};}}
创建启动类HelloWorldBootstrap;
通@Import(HelloWorldImportSelector.class)装配Bean;
@Import(HelloWorldImportSelector.class)public class HelloWorldBootstrap {public static void main(String[] args) {ConfigurableApplicationContext context = new SpringApplicationBuilder(HelloWorldBootstrap.class).web(WebApplicationType.NONE).run(args);String helloWorld = context.getBean("helloWorld", String.class);System.out.println(helloWorld);context.close();}}
运行结果如下图:

