@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最重要的一个注解,用于快捷配置启动类。


--思想--

相信极度求真和极度透明

不要惧怕了解事实

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

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