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

相关推荐
悠夏安末2 分钟前
intellij Idea 和 dataGrip下载和安装教程
java·ide·intellij-idea
suimeng611 分钟前
ChromeDriver的常用方法
java·selenium
Asthenia041221 分钟前
零基础指南:在Linux上用Docker和Jenkins实现Spring Cloud微服务的CI/CD
后端
Hellyc27 分钟前
SpringMVC响应数据:页面跳转与回写数据
java·前端·学习
嘵奇42 分钟前
深入解析 Spring Boot 测试核心注解
java·spring boot·后端
癞皮狗不赖皮1 小时前
Java安全基础-反射机制
java·反射机制·java安全基础
uhakadotcom1 小时前
BPF编程入门:使用Rust监控CPU占用
后端·面试·github
别惊鹊1 小时前
(三)安装和使用Maven
java·maven
兢兢业业的小白鼠1 小时前
Java高级JVM知识点记录,内存结构,垃圾回收,类文件结构,类加载器
java·开发语言·jvm·tomcat
uhakadotcom1 小时前
GHSL-2024-252: Cloudflare Workers SDK 环境变量注入漏洞解析
后端·面试·github