spring的bean注册

  1. bean注册
  1. 第三方jar包的类想添加到ioc中,加不了@Component该怎么办呢。
    1. 可以使用@Bean和@Import
  2. 引入jar包,可以使用maven安装到本地仓库。
  1. 修改bean的名字:@Bean("aaa")
  2. 使用ioc的已经存在的bean对象,如Country:public Province province(Country country)
  3. 手动扫描类:@Import(CommonConfig.class)
  4. 手动扫描类,优雅地加入多个: @Import(CommonImportSelector)
java 复制代码
public class CommonImportSelector implements ImportSelector {
    public String[] selectImports(AnnotationMetadata importingClassMetadata) {
        return new String[]{"com.itheima.config.CommonConfig"};
    }
}
  1. 读配置文件,类名和上面一致。方法不同。

    java 复制代码
    @Override
    public String[] selectImports(AnnotationMetadata importingClassMetadata) {
        //读取配置文件的内容    List<String> imports = new ArrayList<>();
        InputStream is = CommonImportSelector.class.getClassLoader().getResourceAsStream("common.imports");
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        String line = null;
        try {
            while((line = br.readLine())!=null){
                imports.add(line);
            }
    
        } catch (IOException e) {
            throw new RuntimeException(e);
        } finally {
            if (br!=null){
                try {
                    br.close();
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
        }
        return imports.toArray(new String[0]);
    }
  2. 组合注解

启动类直接使用组合注解

相关推荐
撩得Android一次心动8 分钟前
Android LiveData 全面解析:使用Java构建响应式UI【源码篇】
android·java·android jetpack·livedata
组合缺一12 分钟前
Solon AI (Java) v3.9 正式发布:全能 Skill 爆发,Agent 协作更专业!仍然支持 java8!
java·人工智能·ai·llm·agent·solon·mcp
MSTcheng.17 分钟前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
一 乐20 分钟前
校园二手交易|基于springboot + vue校园二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
KIKIiiiiiiii21 分钟前
微信个人号API二次开发中的解决经验
java·人工智能·python·微信
80530单词突击赢22 分钟前
SpringBoot整合SpringMVC全解析
java·spring boot·后端
vx1_Biye_Design32 分钟前
基于Spring Boot+Vue的学生管理系统设计与实现-计算机毕业设计源码46223
java·vue.js·spring boot·spring·eclipse·tomcat·maven
vx_Biye_Design33 分钟前
基于Spring Boot+vue的湖北旅游景点门票预约平台的设计--毕设附源码29593
java·vue.js·spring boot·spring cloud·servlet·eclipse·课程设计
浩浩测试一下1 小时前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全
hay_lee1 小时前
Spring AI实现对话聊天-流式输出
java·人工智能·ollama·spring ai