@SpringBootApplication

ゝ一世哀愁。 2022-05-24 07:14 447阅读 0赞

@SpringBootApplication

@SpringBootApplication是一个组合注解,它整合了@Configuration、@EnableAutoConfiguration和@ComponentScan注解,并开启了Spring Boot 程序的组件扫描和自动配置功能。

@SpringBootApplication 等价于 (@Configuration + @EnableAutoConfiguration + @ComponentScan)

  1. @SpringBootApplication
  2. public class MongoApp {
  3. public static void main(String[] args) {
  4. SpringApplication.run(MongoApp.class, args);
  5. }
  6. }

1、@Configuration:此注解一般需要搭配@Bean。这两个注解可以创建一个spring配置类

2、@EnableAutoConfiguration:此注解自动配置spring的上下文

3、@ComponentScan:此注解自动扫描标有@Component的类,注册成bean,包括@Component下的子注解@Service,@Repository,@Controller。

https://blog.csdn.net/okxuewei/

@SpringBootApplication的源码

  1. @Target(ElementType.TYPE)
  2. @Retention(RetentionPolicy.RUNTIME)
  3. @Documented
  4. @Inherited
  5. @SpringBootConfiguration
  6. @EnableAutoConfiguration
  7. @ComponentScan(excludeFilters = {
  8. @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
  9. @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
  10. public @interface SpringBootApplication {
  11. ....

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

--思想—

相信极度求真和极度透明

不要惧怕了解事实

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

发表评论

表情:
评论列表 (有 0 条评论,447人围观)

还没有评论,来说两句吧...

相关阅读