diff --git a/yami-shop-admin/src/main/java/com/yami/shop/admin/WebApplication.java b/yami-shop-admin/src/main/java/com/yami/shop/admin/WebApplication.java index 756bee2..3a4029a 100644 --- a/yami-shop-admin/src/main/java/com/yami/shop/admin/WebApplication.java +++ b/yami-shop-admin/src/main/java/com/yami/shop/admin/WebApplication.java @@ -10,7 +10,6 @@ package com.yami.shop.admin; - import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -21,18 +20,31 @@ import org.springframework.context.annotation.ComponentScan; /** * @author lgh + * 这是一个Spring Boot应用的启动类,用于启动整个Web应用,通常包含了应用的配置、启动逻辑等相关内容。 */ @SpringBootApplication +// @SpringBootApplication注解是一个组合注解,相当于同时使用了@Configuration、@EnableAutoConfiguration和@ComponentScan, +// 它表明这个类是一个Spring Boot应用的配置类,并且开启自动配置以及组件扫描功能。 @ComponentScan("com.yami.shop") -public class WebApplication extends SpringBootServletInitializer{ +// @ComponentScan注解用于指定Spring要扫描的基础包路径,在这里表示会扫描com.yami.shop及其子包下的所有组件(比如@Component、@Service、@Repository等标注的类), +// 以便将这些组件纳入Spring容器进行管理。 +public class WebApplication extends SpringBootServletInitializer { - public static void main(String[] args) { + /** + * 应用的主入口方法,Java应用程序从这里开始执行,会启动Spring Boot应用,传入当前类(WebApplication.class)以及命令行参数(args), + * Spring Boot会根据配置和自动配置机制来初始化整个应用上下文,加载各种组件并启动Web服务器(如果是Web应用的话)等相关操作。 + */ + public static void main(String[] args) { SpringApplication.run(WebApplication.class, args); - } + } - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { - return builder.sources(WebApplication.class); - } + /** + * 当应用以WAR包形式部署到外部的Servlet容器(如Tomcat等)时,需要重写这个方法来配置Spring应用的启动构建器。 + * 在这里返回的SpringApplicationBuilder会指定启动的主类(即WebApplication.class),以便容器能够正确加载和启动应用。 + */ + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { + return builder.sources(WebApplication.class); + } -} +} \ No newline at end of file