Spring Cloud 微服务示例项目教程
1. 项目的目录结构及介绍
spring-cloud-microservice-example/
├── api-gateway-microservice/
├── config-microservice/
├── consul-microservice/
├── discovery-microservice/
├── hystrix-dashboard/
├── movie-microservice/
├── movies-ui/
├── docker/
├── .gitignore
├── LICENSE
├── README.md
├── pom.xml
目录结构介绍
- api-gateway-microservice: API 网关微服务,负责路由和负载均衡。
- config-microservice: 配置微服务,负责管理所有微服务的配置。
- consul-microservice: Consul 微服务,用于服务发现和配置。
- discovery-microservice: 服务发现微服务,用于注册和发现服务。
- hystrix-dashboard: Hystrix 仪表盘,用于监控微服务的健康状况。
- movie-microservice: 电影微服务,提供电影相关的数据和功能。
- movies-ui: 电影前端界面,提供用户界面。
- docker: Docker 相关文件,用于容器化部署。
- .gitignore: Git 忽略文件。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- pom.xml: Maven 项目配置文件。
2. 项目的启动文件介绍
每个微服务目录下都有一个 src/main/java
目录,其中包含启动类。例如,movie-microservice
的启动类为 MovieMicroserviceApplication.java
。
示例启动类
package com.example.moviemicroservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class MovieMicroserviceApplication {
public static void main(String[] args) {
SpringApplication.run(MovieMicroserviceApplication.class, args);
}
}
启动类介绍
- @SpringBootApplication: 启用 Spring Boot 自动配置。
- @EnableDiscoveryClient: 启用服务发现客户端,使微服务能够注册到服务发现服务器。
3. 项目的配置文件介绍
每个微服务目录下都有一个 src/main/resources
目录,其中包含配置文件。例如,movie-microservice
的配置文件为 application.yml
。
示例配置文件
server:
port: 8081
spring:
application:
name: movie-microservice
datasource:
url: jdbc:mysql://localhost:3306/movie_db
username: root
password: root
jpa:
hibernate:
ddl-auto: update
show-sql: true
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
配置文件介绍
- server.port: 微服务的端口号。
- spring.application.name: 微服务的名称。
- spring.datasource: 数据库连接配置。
- spring.jpa.hibernate.ddl-auto: Hibernate 数据库初始化模式。
- spring.jpa.show-sql: 是否显示 SQL 语句。
- eureka.client.serviceUrl.defaultZone: Eureka 服务发现服务器的地址。
以上是 Spring Cloud 微服务示例项目的目录结构、启动文件和配置文件的介绍。希望这份文档能帮助你更好地理解和使用该项目。