VSCode 中配置 Java SpringBoot+Spring Cloud:微服务项目搭建的详细指南
·
开发环境准备
确保已安装以下工具:
- JDK 1.8 或更高版本
- VSCode 最新稳定版
- VSCode 扩展:Java Extension Pack、Spring Boot Extension Pack
安装完成后,通过命令验证环境:
java -version
code --version
创建Spring Boot父工程
使用Spring Initializr创建父工程:
- 在VSCode中按
Ctrl+Shift+P,搜索Spring Initializr - 选择
Generate a Maven Project,Java语言 - 打包方式选择
pom,添加依赖:Spring Web,Lombok
生成的pom.xml需包含模块管理:
<modules>
<module>service-registry</module>
<module>api-gateway</module>
</modules>
搭建服务注册中心
创建子模块service-registry:
- 在父工程目录右键新建文件夹
- pom.xml添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
主启动类添加注解:
@EnableEurekaServer
@SpringBootApplication
public class RegistryApplication {
public static void main(String[] args) {
SpringApplication.run(RegistryApplication.class, args);
}
}
配置文件application.yml:
server:
port: 8761
eureka:
client:
register-with-eureka: false
fetch-registry: false
实现API网关
新建模块api-gateway:
- 添加网关依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
配置路由规则:
spring:
cloud:
gateway:
routes:
- id: user-service
uri: lb://USER-SERVICE
predicates:
- Path=/api/users/**
创建微服务提供者
新建业务模块user-service:
- 添加Eureka客户端依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
配置服务注册:
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: user-service
服务间通信实现
使用OpenFeign进行声明式调用:
- 在调用方添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
创建Feign客户端接口:
@FeignClient(name = "order-service")
public interface OrderClient {
@GetMapping("/orders/user/{userId}")
List<Order> getOrdersByUser(@PathVariable Long userId);
}
分布式配置管理
搭建Config Server:
- 新建模块
config-server - 添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
配置文件仓库设置:
spring:
cloud:
config:
server:
git:
uri: https://github.com/your-repo/config-repo
search-paths: '{application}'
项目调试与测试
VSCode调试配置:
- 创建
.vscode/launch.json - 添加Spring Boot调试配置:
{
"type": "java",
"request": "launch",
"mainClass": "com.example.UserApplication",
"projectName": "user-service"
}
集成测试示例:
@SpringBootTest
@AutoConfigureMockMvc
class UserControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
void getUserById() throws Exception {
mockMvc.perform(get("/users/1"))
.andExpect(status().isOk());
}
}
生产环境建议
容器化部署准备:
- 添加Dockerfile:
FROM openjdk:11-jre
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
构建及运行命令:
mvn clean package
docker build -t user-service .
docker run -p 8080:8080 user-service
更多推荐


所有评论(0)