spring boot是如何启动

不及物动词 其他 28

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Spring Boot启动是通过执行主类中的main方法来完成的。

    首先,在主类中添加@SpringBootApplication注解,该注解是Spring Boot的核心注解之一,它包含了多个注解的组合,主要用于启动Spring Boot应用。@SpringBootApplication注解中包含了@ComponentScan、@EnableAutoConfiguration和@Configuration三个注解。

    @ComponentScan注解用于指定Spring组件扫描的基础包名,它会自动扫描被@Component、@Service、@Repository和@Controller注解标注的类,并注册为Spring容器的Bean。

    @EnableAutoConfiguration注解用于开启Spring Boot的自动配置功能,它会根据项目中引入的依赖自动配置Spring Boot应用所需的配置信息,例如数据库连接、Web服务器等。

    @Configuration注解表示该类是一个配置类,Spring会根据该类中的配置信息来创建Bean。

    其次,在主类中定义main方法,使用SpringApplication类的静态run方法来启动Spring Boot应用,该方法接受两个参数:主类的Class对象和命令行参数。
    SpringApplication.run(MainClass.class, args);

    run方法会依次执行以下操作:

    1. 创建SpringApplication实例;
    2. 获取应用上下文ApplicationContext;
    3. 加载配置信息;
    4. 注册Bean;
    5. 启动应用。

    在启动过程中,Spring Boot会根据配置信息初始化Spring容器,包括创建Bean、注入依赖等操作,然后启动内嵌的Web服务器(如Tomcat),监听指定端口,等待请求的到来。

    总之,Spring Boot的启动过程主要包括添加@SpringBootApplication注解和执行main方法。在启动过程中,会根据配置信息初始化Spring容器并启动内嵌的Web服务器。通过这种方式,可以快速、简便地构建和启动Spring Boot应用。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Spring Boot的启动过程主要由以下几个步骤组成:

    1. 引导类加载:Spring Boot项目的入口是一个特定的引导类,通常是带有@SpringBootApplication注解的类。该注解是一个组合注解,包含了@Configuration@EnableAutoConfiguration@ComponentScan等注解,用于配置和启用Spring Boot的自动配置和组件扫描功能。在启动过程中,Java虚拟机(JVM)会通过该引导类来加载和初始化Spring Boot应用。

    2. 自动配置加载:Spring Boot的核心特性之一是自动配置,它根据项目的依赖和配置来自动配置应用程序的各个组件。在启动过程中,Spring Boot会根据类路径上的配置来加载自动配置类,并将其应用于应用程序的上下文中。自动配置类是通过在项目的依赖中引入相应模块的方式来启用的。例如,如果项目中引入了Spring Data JPA的依赖,Spring Boot会自动为数据库访问提供相关的配置和Bean。

    3. 应用程序上下文创建:Spring Boot在启动过程中会创建一个应用程序上下文(Application Context),用于管理应用程序的各个组件和配置。应用程序上下文是Spring框架的核心部分,它提供了依赖注入(DI)和面向切面编程(AOP)等重要的功能。在启动过程中,Spring Boot会根据类路径上的配置和自动配置来创建和初始化应用程序上下文。

    4. 组件扫描和初始化:在应用程序上下文创建完成后,Spring Boot会进行组件扫描,将带有@Component@Service@Controller@Repository等注解的类实例化为Bean,并将其加入应用程序上下文中。此外,Spring Boot还会扫描并初始化其他一些特殊的组件,例如CommandLineRunnerApplicationRunner等接口的实现类,在应用程序启动后执行特定的操作。

    5. 启动应用程序:启动过程的最后一步是启动应用程序本身。Spring Boot会调用应用程序上下文的refresh()方法来刷新上下文,并触发各个组件的初始化和依赖注入。最终,应用程序会开始监听指定的端口,接受来自客户端的请求并进行处理。

    总结起来,Spring Boot的启动过程主要包括引导类加载、自动配置加载、应用程序上下文创建、组件扫描和初始化以及应用程序的启动等步骤。这些步骤使得Spring Boot能够在简化配置和提高开发效率的同时,快速启动和运行应用程序。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Spring Boot启动的过程可以分为以下几个步骤:

    1. 加载Spring Boot配置:Spring Boot通过读取配置文件中的属性来进行初始化。配置文件可以是application.properties或application.yml。

      • 如果是.properties文件,Spring Boot会调用PropertiesLoaderUtils.loadAllProperties()方法进行加载。
      • 如果是.yml文件,Spring Boot会使用YAML解析器进行加载。
    2. 创建Spring Boot应用程序类:Spring Boot应用程序需要一个主类作为入口点。这个类使用@SpringBootApplication注解来标记,并且必须包含一个静态的main方法。

      • @SpringBootApplication是一个复合注解,包含@EnableAutoConfiguration@ComponentScan@Configuration注解。
      • @EnableAutoConfiguration启用自动配置,根据Maven/Gradle的依赖关系自动配置Spring配置。
      • @ComponentScan扫描被注解的包及其子包来查找Spring组件。
    3. 创建Spring应用程序上下文:Spring框架使用ApplicationContext接口表示应用程序上下文。

      • Spring Boot使用SpringApplication.run()方法创建并初始化应用程序上下文。这个方法接受一个主类和命令行参数作为参数。
    4. 自动配置:Spring Boot根据类路径的配置来自动配置Spring应用程序。

      • Spring Boot在应用程序上下文中自动配置很多常用的功能,例如数据源、事务管理器、模板引擎等。
      • Spring Boot使用自动配置的条件注解来控制哪些功能需要启用,例如@ConditionalOnClass@ConditionalOnMissingBean等。
      • 如果需要自定义配置,可以使用@Configuration注解和@Bean注解。
    5. 运行Spring Boot应用程序:Spring Boot使用嵌入式的Servlet容器来运行应用程序,例如Tomcat、Jetty等。

      • Spring Boot根据配置文件中的属性来选择和配置嵌入式Servlet容器。
      • 默认情况下,Spring Boot使用内嵌的Tomcat容器。
      • 可以使用spring-boot-starter-web依赖来启用Web应用程序并自动配置嵌入式Servlet容器。
    6. 关闭Spring Boot应用程序:可以使用ApplicationContext.close()方法来关闭应用程序上下文。

      • 也可以使用ApplicationExit接口和SpringApplication.exit()方法来关闭应用程序。

    以上是Spring Boot启动的基本流程。通过自动配置和简化配置,Spring Boot使得开发人员可以更容易地构建和运行Spring应用程序。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部