@SpringBootApplication

@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最重要的一個註解,用於快捷配置啓動類。


--思想--

相信極度求真和極度透明

不要懼怕瞭解事實

爲人要正直,也要求他人保持正直

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章