DeepSeek **Spring Tools Suite (STS)**!它是基于Eclipse的专门为Spring开发优化的IDE
·
您说的是 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没有的便捷功能,大大提升了开发效率。
更多推荐




所有评论(0)