|
|
|
@ -8,6 +8,7 @@
|
|
|
|
|
* 版权所有,侵权必究!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 该类所属的包名,表明其处于管理端相关的包下,作为整个Web应用的启动类所在的位置
|
|
|
|
|
package com.yami.shop.admin;
|
|
|
|
|
|
|
|
|
|
import org.springframework.boot.SpringApplication;
|
|
|
|
@ -20,31 +21,45 @@ import org.springframework.context.annotation.ComponentScan;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author lgh
|
|
|
|
|
* 这是一个Spring Boot应用的启动类,用于启动整个Web应用,通常包含了应用的配置、启动逻辑等相关内容。
|
|
|
|
|
* 这是一个Spring Boot应用的启动类,作为整个Web应用的入口点,负责启动和配置整个应用。
|
|
|
|
|
* 它整合了诸多Spring Boot相关的配置和启动逻辑,使得应用能够按照预设的配置和自动配置机制进行初始化,
|
|
|
|
|
* 加载各种组件、配置缓存(如果启用了缓存功能)以及与外部Servlet容器进行集成(如果以WAR包形式部署)等操作。
|
|
|
|
|
*/
|
|
|
|
|
// @SpringBootApplication是一个组合注解,相当于同时使用了@Configuration、@EnableAutoConfiguration和@ComponentScan这三个注解,
|
|
|
|
|
// 下面分别对其作用进行详细解释:
|
|
|
|
|
// @Configuration注解表明这个类是一个Java配置类,可用于定义Spring容器中的Bean以及配置相关的信息,类似于传统的XML配置文件的作用。
|
|
|
|
|
// @EnableAutoConfiguration注解开启Spring Boot的自动配置功能,它会根据项目中添加的依赖以及一些默认的配置规则,自动配置Spring应用的各种组件,
|
|
|
|
|
// 例如,自动配置数据源、Web相关组件等,极大地减少了手动配置的工作量。
|
|
|
|
|
// @ComponentScan注解用于指定Spring要扫描的基础包路径,在这里表示会扫描com.yami.shop及其子包下的所有组件(比如使用@Component、@Service、@Repository、@Controller等注解标注的类),
|
|
|
|
|
// 找到这些组件后会将它们纳入Spring容器进行管理,使得它们能够在应用中被自动注入和使用。
|
|
|
|
|
@SpringBootApplication
|
|
|
|
|
// @SpringBootApplication注解是一个组合注解,相当于同时使用了@Configuration、@EnableAutoConfiguration和@ComponentScan,
|
|
|
|
|
// 它表明这个类是一个Spring Boot应用的配置类,并且开启自动配置以及组件扫描功能。
|
|
|
|
|
// 通过@ComponentScan注解指定Spring要扫描的基础包路径为com.yami.shop及其子包,确保应用中的各种组件能被正确扫描并加载到Spring容器中进行管理。
|
|
|
|
|
@ComponentScan("com.yami.shop")
|
|
|
|
|
// @ComponentScan注解用于指定Spring要扫描的基础包路径,在这里表示会扫描com.yami.shop及其子包下的所有组件(比如@Component、@Service、@Repository等标注的类),
|
|
|
|
|
// 以便将这些组件纳入Spring容器进行管理。
|
|
|
|
|
// @EnableCaching注解用于开启Spring的缓存功能,当应用中需要使用缓存来提高性能,比如缓存数据库查询结果、方法返回值等情况时,启用此注解后,
|
|
|
|
|
// 可以通过在相应的方法上使用缓存相关注解(如@Cacheable、@CachePut、@CacheEvict等)来配置缓存策略。在这里表示应用开启了缓存功能,后续可按需配置具体的缓存细节。
|
|
|
|
|
@EnableCaching
|
|
|
|
|
public class WebApplication extends SpringBootServletInitializer {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 应用的主入口方法,Java应用程序从这里开始执行,会启动Spring Boot应用,传入当前类(WebApplication.class)以及命令行参数(args),
|
|
|
|
|
* Spring Boot会根据配置和自动配置机制来初始化整个应用上下文,加载各种组件并启动Web服务器(如果是Web应用的话)等相关操作。
|
|
|
|
|
* 应用的主入口方法,Java应用程序从这里开始执行。
|
|
|
|
|
* 它调用SpringApplication的静态方法run来启动Spring Boot应用,传入当前类(WebApplication.class)作为配置类,以及命令行参数(args)。
|
|
|
|
|
* Spring Boot会基于这个配置类,按照自动配置机制去查找和加载各种配置信息、初始化应用上下文,
|
|
|
|
|
* 然后加载所有被@ComponentScan扫描到的组件,配置各种中间件(如Web服务器,如果是Web应用的话),最终启动整个应用。
|
|
|
|
|
*
|
|
|
|
|
* @param args 命令行参数,可用于在启动应用时传入一些自定义的配置信息或运行参数等,例如指定应用的运行环境(开发、测试、生产等)、端口号等。
|
|
|
|
|
*/
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
SpringApplication.run(WebApplication.class, args);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 当应用以WAR包形式部署到外部的Servlet容器(如Tomcat等)时,需要重写这个方法来配置Spring应用的启动构建器。
|
|
|
|
|
* 在这里返回的SpringApplicationBuilder会指定启动的主类(即WebApplication.class),以便容器能够正确加载和启动应用。
|
|
|
|
|
* 当应用以WAR包形式部署到外部的Servlet容器(如Tomcat、Jetty等)时,需要重写这个方法来配置Spring应用的启动构建器。
|
|
|
|
|
* 在这里,它返回的SpringApplicationBuilder会指定启动的主类(即WebApplication.class),
|
|
|
|
|
* 这样外部的Servlet容器就能通过这个构建器正确地加载和启动Spring应用,将应用的上下文与容器进行整合,
|
|
|
|
|
* 确保应用能够在外部容器的环境下正常运行,并且能够利用容器提供的各种资源和功能。
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
|
|
|
|
|
return builder.sources(WebApplication.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|