@ComponentScan
@ComponentScan主要就是定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中
@Controller,@Service,@Repository,@Configuration注解有一个共同的注解@Component
@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository,@Configuration,@Component注解的类到spring容器中
测试:
import com.lyh.Application;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class test {
@Test
public void run1(){
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(Application.class);
//AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文
String[] definitionNames = applicationContext.getBeanDefinitionNames();
for (String name : definitionNames) {
System.out.println(" -- " +name);
}
}
}