@SpringBootApplication
@SpringBootApplication是一個組合註解,它整合了@Configuration、@EnableAutoConfiguration和@ComponentScan註解,並開啓了Spring Boot 程序的組件掃描和自動配置功能。
@SpringBootApplication 等價於 (@Configuration + @EnableAutoConfiguration + @ComponentScan)
@SpringBootApplication
public class MongoApp {
public static void main(String[] args) {
SpringApplication.run(MongoApp.class, args);
}
}
1、@Configuration:此註解一般需要搭配@Bean。這兩個註解可以創建一個spring配置類
2、@EnableAutoConfiguration:此註解自動配置spring的上下文
3、@ComponentScan:此註解自動掃描標有@Component的類,註冊成bean,包括@Component下的子註解@Service,@Repository,@Controller。
https://blog.csdn.net/okxuewei/
@SpringBootApplication的源碼
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
....
@SpringBootApplication只會掃描@SpringBootApplication註解標記類包下及其子包的類(特定註解標記,比如說@Controller,@Service,@Component,@Configuration和@Bean註解等等)納入到spring容器,當@SpringBootApplication註解標記類相同包下及其子包的類,所以需要我們去配置一下掃包路徑。
修改啓動類,@SpringBootApplication(scanBasePackages = "com.springbootapplication.springboot"),指定掃描路徑,
@SpringBootConfiguration
@SpringBootConfiguration,該註解具有@EnableAutoConfiguration、@ComponentScan等註解因爲有@ComponentScan,因此@Controller會被掃描並註冊。
@GetMaping
@GetMapping是Spring4.3提供的新註解。它也是組合註解等價於@RequestMapping(method=RequestMethod.GET),用於簡化開發。同理還有@PostMapping,與@SpringBootApplication一樣也是爲了簡化開發。@SpringBootApplication是spring boot最重要的一個註解,用於快捷配置啓動類。
--思想--
相信極度求真和極度透明
不要懼怕瞭解事實
爲人要正直,也要求他人保持正直