Spring-IOC-@Import的用法

1、Car.java

java 复制代码
package com.atguigu.ioc;
import lombok.Data;
@Data
public class Car {
    private String cname;
}

2、 MySpringConfiguration2.java

java 复制代码
package com.atguigu.ioc;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import(MySpringConfiguration3.class)
public class MySpringConfiguration2 {

    @Bean
    public Car getCar2() {
        Car car = new Car();
        car.setCname("问界");
        return car;
    }
}

3、 MySpringConfiguration3.java

java 复制代码
package com.atguigu.ioc;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MySpringConfiguration3 {
    @Bean
    public Car getCar3() {
        Car car = new Car();
        car.setCname("仰望");
        return car;
    }
}

4、CarTest.java

java 复制代码
package com.atguigu.ioc;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class CarTest {

    private BeanFactory beanFactory;
    @BeforeEach
    public void setup() {
        beanFactory = new AnnotationConfigApplicationContext(MySpringConfiguration2.class);
    }
    @Test
    public void test() {
        System.out.println(beanFactory);
    }
}


在Spring中,@Import注解的作用是让我们能够将一个或多个Java配置类导入另一个配置类中,以便共享配置信息和Bean定义。它可以用来导入其他配置类、普通的Java类、甚至是XML配置文件。

@Import注解有以下三种使用方式:

1.导入配置类

我们可以将一个或多个配置类导入到另一个配置类中,以便在当前配置类中使用导入的配置类中的Bean。

示例:

java 复制代码
@Configuration
@Import({DatabaseConfig.class, MessagingConfig.class})
public class AppConfig {
    ...
}

2.导入普通类

我们可以将普通的Java类导入到Spring容器中,让其成为一个Bean。

示例:

java 复制代码
@Configuration
@Import(MyUtilClass.class)
public class AppConfig {
    ...
}

3.导入XML配置文件

我们可以将一个或多个XML配置文件导入到Java配置类中,以便在配置类中使用XML中定义的Bean。

示例:

java 复制代码
@Configuration
@ImportResource({"classpath:applicationContext.xml"})
public class AppConfig {
    ...
}

使用@Import注解可以很方便地将多个配置类或Java类组合在一起,使得Spring应用程序具有更高的灵活性和可重用性。

相关推荐
程序员游老板22 分钟前
基于SpringBoot3_vue3_MybatisPlus_Mysql_Maven的社区养老系统/养老院管理系统
java·spring boot·mysql·毕业设计·软件工程·信息与通信·毕设
码事漫谈38 分钟前
VS Code 1.107 更新:多智能体协同与开发体验升级
后端
福尔摩斯张40 分钟前
C++核心特性精讲:从C语言痛点出发,掌握现代C++编程精髓(超详细)
java·linux·c语言·数据结构·c++·驱动开发·算法
码事漫谈1 小时前
从概念开始开始C++管道编程
后端
@淡 定1 小时前
Spring中@Autowired注解的实现原理
java·后端·spring
时空无限1 小时前
Java Buildpack Reference
java·开发语言
serendipity_hky1 小时前
【go语言 | 第2篇】Go变量声明 + 常用数据类型的使用
开发语言·后端·golang
疯狂的程序猴2 小时前
App Store上架完整流程与注意事项详解
后端
爱笑的眼睛112 小时前
超越剪枝与量化:下一代AI模型压缩工具的技术演进与实践
java·人工智能·python·ai
开心就好20252 小时前
把 H5 应用上架 App Store,并不是套个壳这么简单
后端