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应用程序具有更高的灵活性和可重用性。

相关推荐
胚芽鞘68118 分钟前
关于java项目中maven的理解
java·数据库·maven
岁忧1 小时前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
CJi0NG1 小时前
【自用】JavaSE--算法、正则表达式、异常
java
Nejosi_念旧2 小时前
解读 Go 中的 constraints包
后端·golang·go
风无雨2 小时前
GO 启动 简单服务
开发语言·后端·golang
Hellyc2 小时前
用户查询优惠券之缓存击穿
java·redis·缓存
小明的小名叫小明2 小时前
Go从入门到精通(19)-协程(goroutine)与通道(channel)
后端·golang
斯普信专业组2 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
今天又在摸鱼2 小时前
Maven
java·maven
老马啸西风2 小时前
maven 发布到中央仓库常用脚本-02
java·maven