作用:
1、注册多个
2、字符串必须是类的完整类型限定名(包.类名)
创建一个实现类:
package cn.cdulm.bean;
import org.springframework.context.annotation.ImportSelector;
import org.springframework.core.type.AnnotationMetadata;
@Component
public class MyImportSelector implements ImportSelector {
@Override
public String[] selectImports(AnnotationMetadata importingClassMetadata) {
return new String[]{};
}
}
实现selectImports()方法,可以发现返回值是一个字符串数组;
创建一个Wife类(),类中除了给name赋值外不做任何操作:
package cn.cdulm.bean; import org.springframework.beans.factory.annotation.Value; public class Wife { @Value("老王吧") private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
传入Wife的类型限定名:
测试方法(此时不能通过类名字获取实例):
输出结果:
1 2 | Wife - cn.cdulm.bean.Wife @5b12b668 Wife - 老王吧 |
发现成功输出,Wife类中没有使用@Component注入为Bean,也没有在javaConfig中配置注入Wife类为Bean,只在MyImportSelector类中传入了Wife的类型限定名,就成功将Wife在ioc容器中注册为Bean。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)