1) 在启动类上直接使用
2) 配合@Configuration使用
先定义一个需要@Import的类TestA.class
package com.example.demo;
/**
* @author lyd
* @Description:
* @date 11:31
*/
public class TestA {
public void printName() {
System.out.println("类名:" + Thread.currentThread().getStackTrace()[1].getClassName());
}
}
在启动类上直接使用
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Import;
@Import(TestA.class)
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
配合@Configuration使用
package com.example.demo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
/**
* @author lyd
* @Description:
* @date 11:33
*/
@Import(TestA.class)
@Configuration
public class ImportConfig {
public ImportConfig() {
System.out.println("配置类初始化");
}
public void testImportConfig() {
System.out.println("ImportConfig有效");
}
}
这样就可以通过@Autowired注解直接引用TestA这个类了
package com.example.demo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author lyd
* @Description:
* @date 11:34
*/
@RestController
public class ImportAnnotionTest {
@Autowired
TestA testA;
@RequestMapping("yy")
public void yy() {
testA.printName();
}
}