【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】
之前我们又使用了 xml + 注解的方式加载bean
这样问题就又来了,如果我那个范围指定的够大
那岂不是这个文件就定死了…【能不能这个文件都不需要呢?】
【答案是肯定的】【配置类取代配置文件】
package com.dingjiaxiong.config;
import org.springframework.context.annotation.ComponentScan;
/**
* ClassName: SpringConfig3
* date: 2022/10/24 13:40
*
* @author DingJiaxiong
*/
@ComponentScan({"com.dingjiaxiong.bean","com.dingjiaxiong.config"})
public class SpringConfig3 {
}
就这样就行了,
来一个全新的应用程序
package com.dingjiaxiong.app;
import com.dingjiaxiong.config.SpringConfig3;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* ClassName: App3
* date: 2022/10/24 13:42
*
* @author DingJiaxiong
*/
public class App3 {
public static void main(String[] args) {
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig3.class);
String[] names = ctx.getBeanDefinitionNames();
for (String name : names) {
System.out.println(name);
}
}
}
直接运行
好像和之前又有些不一样,刚刚写的配置类也上来了
其实是只要咱们用了AnnotationConfigApplicationContext 这玩意儿加载一个类,那个类也会自动变成一个bean
到这儿其实第三种方式就说完了,感觉上其实和第二种没有太大的区别
回顾一下
@Configuration配置项如果不用于被扫描可以省略
OK