基于springboost开发web项目关于如何启动的一些拙见

发布时间 2024-01-04 19:27:43作者: sixsix666

在学习完web开发后重新看ppt的时候发现了一些类没有main方法也可以启动并且未经含main方法的类调用就可以直启动项目,像controller,service等这种类没有main也可以接受并给前端反应数据,之后经过与Jackal的小探讨和网上搜索了一些资料,感觉可以这样理解(不懂对不对,在后续项目开发的时候可能会有进一步的理解)

1.像平时的lab中写的类必须要写main的这种我归结为普通类是因为Java 程序的执行是从 main 方法开始的。在 Java 中,每个可执行的程序都必须包含一个入口点,即一个 main 方法当运行一个 Java 程序时,Java 虚拟机(JVM)会首先查找并执行这个 main 方法。在 main 方法中,可以编写程序的主要逻辑,包括初始化、业务逻辑和其他必要的操作。这种设计使得 Java 程序的执行过程清晰可见,也使得 Java 程序可以作为独立的应用程序运行。通过执行 main 方法启动整个应用程序的执行流程。

2.既然像1中所说的那为什么像controller这种就不用其实是因为Spring Boot 是一个基于 Spring 框架的开发工具,它通过自动配置和约定大于配置的原则,简化了应用程序的开发过程。在 Spring Boot 中,控制器类(Controller)无需编写 main 方法的主要原因就是因为Spring Boot 提供了嵌入式的 Web 服务器,例如 Tomcat、Jetty 或 Undertow,它们可以在运行时启动并托管应用。Spring Boot 会负责启动和管理整个应用。此时只需关注业务逻辑和相应的注解,Spring Boot 将处理应用的启动和 Web 服务器的配置。

Spring Boot 应用程序的执行流程通常是由一个启动类(通常带有 @SpringBootApplication 注解)开始执行的,当启动的时候Spring Boot 就会扫描项目中的组件,包括控制器类、服务类等,并自动进行配置和初始化。

先基于当前的认知来理解,可能也有错,有机会还是要多问一些人