|
|
|
@ -5,24 +5,36 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
|
|
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
|
|
|
|
import org.springframework.cloud.config.server.EnableConfigServer;
|
|
|
|
|
|
|
|
|
|
// 表明这是一个Spring Boot应用的主配置类,它整合了多个Spring Boot相关的配置功能,
|
|
|
|
|
// 例如自动配置、组件扫描等,能够让Spring Boot应用顺利启动并运行。
|
|
|
|
|
/**
|
|
|
|
|
* SnailmallConfigServerApplication类是整个项目中配置服务器相关的Spring Boot应用的启动类,
|
|
|
|
|
* 它充当了启动配置服务器应用的入口点,负责协调各个组件进行初始化、配置加载等工作,从而使配置服务器能够正常运行并对外提供配置管理相关的服务。
|
|
|
|
|
*/
|
|
|
|
|
@SpringBootApplication
|
|
|
|
|
// 用于启用服务发现客户端功能,使得该应用可以注册到服务注册中心(比如Eureka等),
|
|
|
|
|
// 并且能够发现注册中心中其他已注册的服务,方便服务间的调用和协作。
|
|
|
|
|
// @SpringBootApplication注解是一个复合注解,它整合了多个重要的Spring相关注解功能。
|
|
|
|
|
// 其中,@Configuration注解表示这个类本身就是一个配置类,可以在里面定义各种Bean以及配置信息;
|
|
|
|
|
// @EnableAutoConfiguration注解用于开启Spring Boot的自动配置机制,会根据项目中添加的依赖自动配置相应的Spring组件和功能,极大地简化了配置过程;
|
|
|
|
|
// @ComponentScan注解则负责扫描指定包及其子包下的所有被Spring组件注解(如@Component、@Service、@Controller等)标记的类,将它们纳入Spring容器进行管理。
|
|
|
|
|
// 通过使用这个复合注解,能够便捷地搭建起一个基础的Spring Boot应用框架。
|
|
|
|
|
|
|
|
|
|
@EnableDiscoveryClient
|
|
|
|
|
// 开启配置服务器功能,该应用能够作为配置中心服务器,对外提供配置信息的管理与服务,
|
|
|
|
|
// 其他微服务可以从这个配置服务器获取相应的配置内容,实现配置的集中管理和动态更新等。
|
|
|
|
|
// @EnableDiscoveryClient注解在微服务架构环境下有着重要作用。它用于启用服务发现客户端的功能,
|
|
|
|
|
// 意味着这个配置服务器应用可以将自身的服务信息注册到服务注册中心(例如Eureka、Consul等常用的服务注册与发现工具)上,
|
|
|
|
|
// 同时也能够发现其他已注册在服务注册中心的服务,方便在分布式系统中实现服务之间的相互调用与协作,确保配置服务器能更好地融入整个微服务生态系统。
|
|
|
|
|
|
|
|
|
|
@EnableConfigServer
|
|
|
|
|
// @EnableConfigServer注解是Spring Cloud专门用于启用配置服务器功能的关键注解。
|
|
|
|
|
// 当应用中添加了这个注解后,Spring Cloud会自动将该应用配置成一个配置服务器,它能够从各种配置源(如本地文件系统、Git仓库等)读取配置文件,
|
|
|
|
|
// 并对外提供配置信息的获取服务,使得其他微服务应用可以从这个配置服务器获取它们所需的配置内容,实现了配置的集中管理和动态更新等功能。
|
|
|
|
|
|
|
|
|
|
public class SnailmallConfigServerApplication {
|
|
|
|
|
|
|
|
|
|
// 这是Java应用程序的入口方法,Java虚拟机(JVM)会从这里开始执行程序。
|
|
|
|
|
// 它接收命令行传入的参数args,通过SpringApplication的run方法启动Spring Boot应用,
|
|
|
|
|
// 传入的参数包括当前应用的主类(SnailmallConfigServerApplication.class)以及命令行参数args,
|
|
|
|
|
// 以此启动整个Spring Boot应用的运行环境并加载相关配置进行初始化等操作。
|
|
|
|
|
/**
|
|
|
|
|
* main方法是Java应用程序的标准入口方法,在这里它承担着启动Spring Boot应用的核心任务。
|
|
|
|
|
* 通过调用SpringApplication.run方法,并传入当前启动类的Class对象(即SnailmallConfigServerApplication.class)以及命令行参数(args),
|
|
|
|
|
* Spring Boot框架会基于这些信息进行一系列复杂的操作,包括但不限于加载配置文件、扫描并初始化各种组件、启动嵌入式的Web服务器(如果有相关依赖配置)等,
|
|
|
|
|
* 最终使得整个配置服务器应用顺利启动并开始对外提供配置管理相关的服务,满足其他微服务应用获取配置的需求。
|
|
|
|
|
*/
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
SpringApplication.run(SnailmallConfigServerApplication.class, args);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|