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

相关推荐
向前看-1 小时前
验证码机制
前端·后端
xlsw_1 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹2 小时前
基于java的改良版超级玛丽小游戏
java
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭2 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫3 小时前
泛型(2)
java
超爱吃士力架3 小时前
邀请逻辑
java·linux·后端
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
转码的小石3 小时前
12/21java基础
java
李小白663 小时前
Spring MVC(上)
java·spring·mvc
GoodStudyAndDayDayUp3 小时前
IDEA能够从mapper跳转到xml的插件
xml·java·intellij-idea