您说的是 Spring Tools Suite (STS)!它是基于Eclipse的专门为Spring开发优化的IDE。让我详细介绍:

1. Spring Tools Suite (STS) 介绍

1.1 什么是STS?

Spring Tools Suite = Eclipse + Spring插件 + 预配置环境
- 官方Spring开发工具
- 基于Eclipse IDE
- 预装所有Spring相关插件
- 优化了Spring开发体验
- 完全免费

1.2 下载安装

官方网站: https://spring.io/tools
版本选择:
- STS 4: 基于Eclipse 2020-06+(推荐)
- 支持版本: 
  * Windows 64-bit
  * macOS
  * Linux 64-bit

2. STS 4 安装配置

2.1 安装步骤

1. 下载并解压STS
2. 启动STS (sts-4.xx.xx.RELEASE.exe)
3. 选择工作空间 (workspace)
4. 首次启动会自动下载Spring运行时

2.2 界面概览

STS主要组件:
├── Spring Boot Dashboard     # Spring Boot控制面板
├── Spring Explorer           # Spring项目导航器
├── Boot Dashboard            # 启动/停止应用
├── Bean Support              # Bean定义支持
├── Properties Editor         # 属性文件编辑器
└── Live Beans Graph          # 运行时Bean关系图

3. 使用STS创建Spring Boot项目

3.1 方法一:New Spring Starter Project

1. File → New → Spring Starter Project
2. 配置基本信息:
   - Name: myboot-app
   - Type: Maven Project
   - Group: com.example
   - Artifact: myboot-app
   - Version: 0.0.1-SNAPSHOT
   - Boot Version: 2.7.x (LATEST)
   - Packaging: Jar
   - Java: 11+

3.2 方法二:Spring Initializr Dashboard

1. 打开 Dashboard 视图
   Window → Show View → Other → Spring → Boot Dashboard
   
2. 点击 "+" 按钮 → New Spring Boot Project
3. 配置同上

3.3 项目创建向导界面

依赖选择界面特点:
- 分类清晰的依赖列表
- 依赖描述和版本信息
- 热门依赖推荐
- 依赖搜索功能
- 版本兼容性检查

4. STS专有功能

4.1 Spring Boot Dashboard

// Dashboard功能:
// 1. 查看所有Spring Boot应用
// 2. 启动/停止/重启应用
// 3. 查看应用健康状态
// 4. 监控应用指标
// 5. 管理应用配置

// 使用步骤:
// 1. Window → Show View → Boot Dashboard
// 2. 右键项目 → Start/Stop/Restart
// 3. 查看日志和控制台

4.2 Live Bean 图形视图

功能: 可视化展示Spring Bean的依赖关系
打开方式:
1. 运行Spring Boot应用
2. Window → Show View → Other → Spring → Beans
3. 查看实时Bean关系图

特点:
- 实时更新Bean关系
- 点击Bean查看详情
- 搜索和过滤功能
- 导出为图片

4.3 Properties/YAML编辑器

# 智能编辑功能:
# 1. 代码自动完成
# 2. 属性值提示
# 3. 配置项文档
# 4. 语法高亮
# 5. 错误检查

# application.yml 示例
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/demo
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    
server:
  port: 8080
  servlet:
    context-path: /api

4.4 Spring Template 模板

快速生成代码:
1. 右键包 → New → Other → Spring
2. 选择模板:
   - Spring Bean
   - Spring Configuration
   - Spring Service
   - Spring Repository
   - Spring Controller
   - REST Controller

5. 实际项目创建示例

5.1 创建完整的REST API项目

创建步骤:
1. New → Spring Starter Project
2. 基本信息配置
3. 添加依赖:
   - Spring Web
   - Spring Data JPA
   - MySQL Driver
   - Lombok
   - Spring Boot DevTools
   - Spring Security (可选)
   - Validation
4. Finish

5.2 项目结构自动生成

// STS自动生成的项目结构:
demo/
├── src/main/java/com/example/demo/
│   ├── DemoApplication.java          // 主类(已添加@SpringBootApplication)
│   ├── config/                       // 配置包
│   │   └── WebConfig.java           // Web配置(可选)
│   ├── controller/
│   │   └── HelloController.java     // REST控制器(可选生成)
│   ├── service/
│   ├── repository/
│   └── entity/
├── src/main/resources/
│   ├── application.properties       // 配置文件
│   ├── static/
│   └── templates/
├── src/test/
├── pom.xml                         // Maven配置(已配置好)
└── .project                       // STS项目文件

5.3 自动生成Controller示例

// 使用STS模板生成REST Controller
// 右键 controller 包 → New → Other → Spring → REST Controller

package com.example.demo.controller;

import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api")
@CrossOrigin(origins = "*")
public class ApiController {
    
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello from STS!";
    }
    
    @PostMapping("/data")
    public ResponseData processData(@RequestBody RequestData data) {
        // 自动生成DTO类
        return new ResponseData("Processed: " + data.getValue());
    }
    
    // 自动生成的DTO类
    public static class RequestData {
        private String value;
        // getters/setters自动生成
    }
    
    public static class ResponseData {
        private String message;
        // getters/setters自动生成
    }
}

6. 高级功能

6.1 代码辅助功能

// 1. Spring-specific 代码完成
@Autowired
private UserRepository userRepository;  // 自动识别Bean

// 2. 属性提示
@Value("${server.port}")  // 输入"${"时显示所有属性
private String port;

// 3. 注解提示
@RequestMapping("/api")  // 显示所有属性选项
@GetMapping("/{id}")    // 路径变量自动关联

6.2 测试支持

// STS提供增强的Spring测试支持
@SpringBootTest
@AutoConfigureMockMvc
class UserControllerTests {
    
    @Autowired
    private MockMvc mockMvc;
    
    @Test
    @DisplayName("测试获取用户")
    void testGetUser() throws Exception {
        mockMvc.perform(get("/api/users/1"))
               .andExpect(status().isOk())
               .andExpect(jsonPath("$.name").value("John"));
    }
    
    // 右键测试方法 → Run As → Spring Boot Test
}

6.3 热部署配置

<!-- pom.xml自动添加 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

<!-- STS自动配置 -->
<!-- 无需手动设置,STS已优化热重载 -->

6.4 数据库工具集成

STS内置数据库工具:
1. 打开 Database Development 视角
2. 新建数据库连接
3. 直接查看和编辑数据库表
4. 执行SQL查询
5. 与Spring Data JPA集成

7. 实际开发流程示例

7.1 快速开发CRUD应用

步骤1: 创建实体类
- 右键entity包 → New → Class
- 添加JPA注解

步骤2: 生成Repository
- 右键repository包 → New → Interface
- 继承JpaRepository

步骤3: 生成Service
- 使用STS模板生成Service
- 自动注入Repository

步骤4: 生成Controller
- 使用REST Controller模板
- 自动生成CRUD端点

步骤5: 运行测试
- 使用Boot Dashboard启动
- 测试API端点

7.2 示例:用户管理模块

// 1. 实体类(STS支持快速生成getter/setter)
@Entity
@Data  // Lombok注解
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @NotBlank
    @Column(unique = true)
    private String username;
    
    @Email
    private String email;
    
    @CreationTimestamp
    private LocalDateTime createdAt;
}

// 2. Repository(STS自动识别JPA方法)
public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByUsername(String username);
    List<User> findByEmailContaining(String email);
    
    // 输入"findBy"时STS会提示可用字段
}

// 3. Service(使用@Service模板)
@Service
@Transactional
public class UserService {
    
    @Autowired
    private UserRepository userRepository;
    
    public User createUser(User user) {
        return userRepository.save(user);
    }
    
    // STS提供方法模板
    public Optional<User> getUserById(Long id) {
        return userRepository.findById(id);
    }
}

// 4. Controller(使用@RestController模板)
@RestController
@RequestMapping("/api/users")
@Validated
public class UserController {
    
    @Autowired
    private UserService userService;
    
    @PostMapping
    public ResponseEntity<User> createUser(@Valid @RequestBody User user) {
        User saved = userService.createUser(user);
        return ResponseEntity.created(URI.create("/users/" + saved.getId()))
                           .body(saved);
    }
    
    @GetMapping("/{id}")
    public ResponseEntity<User> getUser(@PathVariable Long id) {
        return userService.getUserById(id)
                .map(ResponseEntity::ok)
                .orElse(ResponseEntity.notFound().build());
    }
}

8. STS配置优化

8.1 性能优化设置

Window → Preferences → Spring

1. Boot:
   - Enable Fast Startup
   - Live Bean Support
   - Auto-refresh Beans

2. Validation:
   - Enable Spring Validator
   - Quick Fix Suggestions

3. Tooling:
   - Enable Annotation Processing
   - Auto-detection of Spring Projects

8.2 代码风格配置

Window → Preferences → Java → Code Style

1. 使用Spring代码模板
2. 配置自动格式化规则
3. 设置导入组织
4. 配置代码清理规则

8.3 快捷键配置

常用STS快捷键:
- Ctrl + Shift + S: 搜索Spring Bean
- Ctrl + Shift + B: 打开Boot Dashboard
- Alt + Shift + X, B: 运行Spring Boot应用
- Ctrl + Shift + F4: 关闭所有属性文件
- Ctrl + 3: 快速打开视图

9. 故障排除

9.1 常见问题

问题1: STS启动慢
解决: Window → Preferences → General → Startup
    关闭不需要的插件

问题2: Maven依赖下载失败
解决: 配置阿里云镜像
    在settings.xml中添加镜像

问题3: 热部署不工作
解决: Window → Preferences → Spring → DevTools
    启用自动构建

问题4: Bean找不到
解决: 使用Ctrl + Shift + S搜索Bean
    检查@ComponentScan配置

9.2 有用的视图

推荐打开的视图:
1. Boot Dashboard (Spring Boot应用管理)
2. Spring Explorer (项目结构)
3. Console (应用输出)
4. Problems (错误和警告)
5. Outline (类结构)
6. Beans (运行时Bean视图)

10. 最佳实践

10.1 开发流程建议

1. 使用Boot Dashboard管理应用生命周期
2. 充分利用Properties/YAML编辑器
3. 使用Live Bean视图调试依赖
4. 利用模板快速生成代码
5. 定期使用STS的验证功能
6. 使用内置的数据库工具

10.2 项目组织建议

推荐的项目结构:
src/main/java/com.example.app/
├── Application.java
├── config/          # 配置类
├── controller/      # Web层
├── service/         # 业务层
├── repository/      # 数据层
├── entity/          # 实体类
├── dto/             # 数据传输对象
├── exception/       # 异常处理
└── util/            # 工具类

Spring Tools Suite是开发Spring Boot应用的最佳工具之一,它提供了许多原生Eclipse没有的便捷功能,大大提升了开发效率。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐