SpringBoot、二(解析主类以及部分源码分析)
发布日期:2021-04-30 21:05:26 浏览次数:124 分类:精选文章

本文共 2067 字,大约阅读时间需要 6 分钟。

Spring Boot ????

1. @SpringBootApplication ??

@SpringBootApplication ????????????????????????

  • @SpringBootConfiguration
  • @EnableAutoConfiguration
  • @ComponentScan

??????????????????????Spring Boot?????????????@SpringBootApplication ?????????????????


2. @SpringBootConfiguration ??

@SpringBootConfiguration????? @Configuration ?????????????????????? Spring IoC ???????Spring Boot????????????? Spring ?????????? IoC ????????? bean ???

Spring Config ???????

Spring IoC ?????????????

  • ?? XML ????
    1. ?? JavaConfig ????
    2. @Configuration
      public class MyConfiguration {
      // bean ??
      @Bean
      public StudentService studentService() {
      return new StudentServiceImpl();
      }
      }

      bean ????????

    3. ?? XML ??????
      1. ?? JavaConfig ??????
      2. @Configuration
        public class MyConfiguration {
        @Bean
        public StudentService studentService() {
        return new StudentServiceImpl(studentDao());
        }
        @Bean
        public StudentDao studentDao() {
        return new StudentDaoImpl();
        }
        }

        ????????????????????????? bean ????


        3. @EnableAutoConfiguration ??

        ??

        @EnableAutoConfiguration ???? @Import ????????? bean ???? IoC ??????? SpringFactoriesLoader ????????????????

        SpringFactoriesLoader ?

        ?????? META-INF/spring.factories ??????????????????

        spring.autoconfigure.EnableAutoConfiguration=org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,
        org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,
        ...

        ???????Spring Boot ??????????????????????? IoC ????


        4. Spring Boot ????????

      3. Spring Boot ??????????????? @SpringBootConfiguration???? @EnableAutoConfiguration?
      4. ?????????? SpringFactoriesLoader ?????? META-INF/spring.factories ????????
      5. ?????????????????????????????HttpEncodingAutoConfiguration ???? HTTP ?????
      6. ????????????????????? Properties ?????? HttpEncodingAutoConfigurationProperties??????????????

      7. 5. @ComponentScan ??

        @ComponentScan ?????????????????? @Component?@Service?@Repository ???? bean ??????????@ComponentScan ???????????????


        ???????Spring Boot ?????????? Spring ???????????????????????????

    上一篇:JavaBase-IO流-随机存取文件流
    下一篇:Leetcode--164. 最大间距

    发表评论

    最新留言

    不错!
    [***.144.177.141]2026年06月08日 23时19分56秒