首先通过idea创建一个springboot工程,这里我们用spring Initializer创建(它自动帮我们搭建spring和springmvc的相关配置)
创建完之后,可以看到java包下有一个启动类,点击启动类就可以启动工程
package org.javaboy.sbdemo02;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Sbdemo02Application {
public static void main(String[] args) {
SpringApplication.run(Sbdemo02Application.class, args);
}
}
我们发现这个启动类上有注解@SpringBootApplication,它帮助我们完成了很多事情,按住ctrl点进去看它包含了哪些内容。
其中@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan这三个配置是最主要的,接下来我们分别来讲述以下这三个注解的作用
1.@SpringBootConfiguration
首先来看一下@SpringBootConfiguration注解,按住ctrl点进去查看。
可以发现其中有一个注解是@Configuration注解,这个注解就是一个配置类,能够将我们需要的组件注入到spring容器中。
2.@EnableAutoConfiguration
@EnableAutoConfiguration作用:开启自动化配置(项目创建时spring,springmvc的那些东西)
3@ComponentScan
@ComponentScan:包扫描(之前配置ssm时也用到过了) ,这里就是扫描启动类所在的包下面的所有类,也包括这个包下中子包下的所有类。所以在项目启动时一定要把启动类放在根包下。
如果一个项目中有controller,service,config包,你把启动类放在config包下,那么controller,service包下的类是扫描不到的,所以不建议这样放置。如果一定要这样放置那么可以在启动类上添加@ComponentScan注解上面手动添加要扫描的类。