Update ApiApplication.java

cyj
pbvfus8to 2 months ago
parent 7b2a7d82e7
commit a22c1decd0

@ -9,13 +9,13 @@
*/ */
// 声明该类所在的包名在Java中包用于对类进行组织和分类管理方便代码的模块化以及避免类名冲突等问题。 // 声明该类所在的包名在Java中包用于对类进行组织和分类管理方便代码的模块化以及避免类名冲突等问题。
// 此处表明该类属于com.yami.shop这个包结构下后续相关的类可以按照包的层次结构进行合理组织和查找。
package com.yami.shop.api; package com.yami.shop.api;
// 引入Spring Boot相关的核心注解用于标记这是一个Spring Boot应用程序它会开启Spring Boot的自动配置等一系列功能简化Spring应用的搭建和部署流程。 // 引入Spring Boot相关的核心注解用于标记这是一个Spring Boot应用程序它会开启Spring Boot的自动配置等一系列功能简化Spring应用的搭建和部署流程。
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// 用于以编程方式构建Spring Boot应用程序特别是在需要对应用的启动配置等进行更多定制化操作时会用到比如配置应用的启动类、配置文件等信息。 // 用于以编程方式构建Spring Boot应用程序特别是在需要对应用的启动配置等进行更多定制化操作时会用到比如配置应用的启动类、配置文件等信息。
import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.autoconfigure.SpringBootApplication;
// Spring Boot提供的一个用于支持将Spring Boot应用部署为Web应用例如部署到Servlet容器中的基础类通常需要继承它来做相关的适配和初始化工作。 // Spring Boot提供的一个用于支持将Spring Boot应用部署为Web应用例如部署到Servlet容器中的基础类通常需要继承它来做相关的适配和初始化工作。
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
// 用于指定Spring需要扫描的组件所在的基础包路径Spring会在这些包及其子包下查找带有相关注解如 @Component、@Service等的类并将它们注册为Spring容器中的组件便于进行依赖注入等操作。 // 用于指定Spring需要扫描的组件所在的基础包路径Spring会在这些包及其子包下查找带有相关注解如 @Component、@Service等的类并将它们注册为Spring容器中的组件便于进行依赖注入等操作。
@ -23,22 +23,28 @@ import org.springframework.context.annotation.ComponentScan;
/** /**
* @author lgh * @author lgh
* APISpring BootServlet * APISpring BootServlet
*/ */
// @SpringBootApplication是一个复合注解它整合了多个Spring相关的注解例如 @Configuration表示这是一个配置类、@EnableAutoConfiguration开启Spring Boot的自动配置功能以及 @ComponentScan默认扫描当前类所在的包及其子包下的组件等。
// 在这里使用它来标记这个类是Spring Boot应用的主配置类Spring Boot会基于这个类进行一系列的启动和配置操作。
@SpringBootApplication @SpringBootApplication
// 通过 @ComponentScan 注解指定Spring要扫描的基础包路径为 "com.yami.shop"意味着Spring会在这个包及其子包下查找并注册各种Spring组件如控制器、服务类、数据访问层等到Spring容器中以便进行后续的依赖注入和业务逻辑处理。 // 通过 @ComponentScan 注解指定Spring要扫描的基础包路径为 "com.yami.shop"意味着Spring会在这个包及其子包下查找并注册各种Spring组件如控制器、服务类、数据访问层等到Spring容器中以便进行后续的依赖注入和业务逻辑处理。
// 这样可以确保我们自定义的各个业务组件能够被Spring正确识别并管理起来方便在不同的组件之间进行依赖注入实现各种业务功能。
@ComponentScan(basePackages = {"com.yami.shop"}) @ComponentScan(basePackages = {"com.yami.shop"})
public class ApiApplication extends SpringBootServletInitializer { public class ApiApplication extends SpringBootServletInitializer {
// 应用的主入口方法Java应用程序从这个方法开始执行。当运行这个类的 main 方法时会启动Spring Boot应用加载配置、初始化Spring容器并启动相关的Web服务等如果是Web应用的话 // 应用的主入口方法Java应用程序从这个方法开始执行。当运行这个类的 main 方法时会启动Spring Boot应用加载配置、初始化Spring容器并启动相关的Web服务等如果是Web应用的话
public static void main(String[] args) { // 它是整个应用启动的起始点类似于传统Java应用中程序开始执行的地方只不过在这里借助Spring Boot的功能来完成更复杂的应用启动流程。
// 使用SpringApplication类的静态方法 run 来启动Spring Boot应用传入当前启动类ApiApplication.class以及命令行参数 argsSpring Boot会根据配置自动完成一系列的初始化和启动操作。 public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args); // 使用SpringApplication类的静态方法 run 来启动Spring Boot应用传入当前启动类ApiApplication.class以及命令行参数 argsSpring Boot会根据配置自动完成一系列的初始化和启动操作。
} // 这个方法内部会执行诸如加载配置文件application.properties或application.yml等、创建Spring容器ApplicationContext、扫描并注册组件、启动嵌入式Web服务器如果是Web应用等一系列操作使得整个应用能够正常运行起来。
SpringApplication.run(ApiApplication.class, args);
}
// 重写SpringBootServletInitializer类中的configure方法用于配置Spring Boot应用在Servlet容器中的启动方式这里返回一个SpringApplicationBuilder对象并指定应用的启动类为ApiApplication.class以便在Servlet容器中正确地启动Spring Boot应用。 // 重写SpringBootServletInitializer类中的configure方法用于配置Spring Boot应用在Servlet容器中的启动方式这里返回一个SpringApplicationBuilder对象并指定应用的启动类为ApiApplication.class以便在Servlet容器中正确地启动Spring Boot应用。
@Override // 当将Spring Boot应用部署到外部的Servlet容器如Tomcat、Jetty等容器会调用这个方法来构建和配置Spring Boot应用确保应用能够在该容器环境下正常启动和运行实现与Servlet容器的良好集成。
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { @Override
return builder.sources(ApiApplication.class); protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
} return builder.sources(ApiApplication.class);
}
} }
Loading…
Cancel
Save