SpringBoot---自动配置
自动配置
查看组件
在SpringBoot的主程序中SpringApplication.run方法返回值是IOC容器,调用返回对象的方法可以查看容器里面的组件。在里面能看见Mvc开发需要的全套配置和常用组件。
public static void main(String[] args) { // 返回对象是IOC容器 ConfigurableApplicationContext run = SpringApplication.run(MyApplication.class, args); // 调用getBeanDefinitionNames方法,查看IOC容器中的组件 String[] names = run.getBeanDefinitionNames(); for (String name : names) { System.out.println("name = " + name); } }
设置组件扫描
在SSM阶段需要设置组件扫描,但是在SpringBoot中,默认会扫描跟主程序MyApplication同一级以下的包。如果在主程序以上就需要设置。通过设置属性scanBasePackages值。或者通过@CompentScan注解。
@SpringBootApplication(scanBasePackages = {"包路径"})
一个上面的顶下面这三个
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
修改配置
在SpringBoot中各种配置都有默认值。就比如说tomcat端口号是8080.
需要对配置进行修改,就在application.properties文件中进行修改。想要进行修改的配置对应的key在官方文档的
server.port=8888
按需配置
在SpringBoot里面配置了很多开发场景也有很多场景依赖代码。这些场景依赖不会一次性引入,都是按需引入。如果不引入开发场景,自动配置代码不能生效【就是去源码里面看冒红,毕竟也不用】。如果需要针对场景开发,只要引入自己需要的开发场景spring-boot-starter-xxx【开发场景】,自动配置代码就能用了。