美文网首页
Spring 注解@ComponentScan, @Import

Spring 注解@ComponentScan, @Import

作者: Tinyspot | 来源:发表于2022-12-23 10:02 被阅读0次

1. @ComponentScan

  • @ComponentScan("org.example")
  • 扫描多包 @ComponentScan({"org.example.xxx1", "org.example.xxx2"})
  • 存在多个@ComponentScan时,可以使用 @ComponentScans 将这些@ComponentScan 放在里面统一管理

1.1 @ComponentScans

@ComponentScan("org.example.xxx1")
@ComponentScan("org.example.xxx2")
// 等价
@ComponentScans({
        @ComponentScan("com.example.xxx1"),
        @ComponentScan("com.example.xxx2")
})

2. @Import 导入组件

  • 导入单个组件CustomConfig.class
  • 导入多个组件@Import({CustomConfig.class, MyConfig.class})
  • id 默认是组件的全类名
@Configuration
@Import(CustomConfig.class)
public class UserConfig {
}

配置类

@Configuration
public class CustomConfig {
    @Bean
    public User query() {
        return new User("yuan", 25);
    }
}

2.1 @Import 高级用法

  • ImportSelector 导入选择器

3. @ImportResource 原生配置文件引入

情况一:老项目里是 xml 文件配置
情况二:第三方 jar 里是 xml 文件

@ImportResource("classpath:beans.xml")
public class MyConfig {}

4. @PropertySource 属性值绑定

  • 引入外部配置文件 .properties
@Configuration
@PropertySource("classpath:config/config.properties")
public class UserConfig {
    @Bean("user")
    public User updateUser() {
        return new User("Tinyspot", 12);
    }
}

相关文章

网友评论

      本文标题:Spring 注解@ComponentScan, @Import

      本文链接:https://www.haomeiwen.com/subject/jsjbxdtx.html