使用 IntelliJ IDEA 从头构建 Spring Boot 后端程序的详细步骤
一、创建 Spring Boot 项目
-
打开 IntelliJ IDEA
-
点击
New Project
→ 选择Spring Initializr
。
-
-
配置项目基本信息
-
Name: 输入项目名称(例如
DemoBackend
) -
Location: 选择项目存储路径
-
Type: Maven
-
Language: Java
-
Packaging: Jar
-
Java Version: 选择你的 JDK 版本(如 11 或 17)
-
Spring Boot Version: 推荐选择稳定版本(如 3.1.5)
-
-
添加依赖
-
必选依赖:
-
Spring Web
(构建 RESTful API) -
Spring Data JPA
(数据库操作) -
MySQL Driver
(连接 MySQL 数据库)
-
-
其他可选依赖(根据需求添加):
-
Lombok
(简化代码)
-
-
-
生成项目
-
点击
Create
,等待 IDEA 自动生成项目结构。
-
二、配置数据库连接
-
修改
application.properties
文件-
路径:
src/main/resources/application.properties
-
添加以下配置(根据你的数据库信息调整):
properties
复制
# 数据库连接 spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false spring.datasource.username=root spring.datasource.password=root # JPA 配置 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true
-
-
验证数据库连接
-
启动 MySQL 服务,确保数据库
mydb
存在。 -
运行项目(右键
DemoApplication
→Run
),如果控制台无报错,表示连接成功。
-
三、编写实体类(Entity)
-
创建实体类
DashboardData
-
路径:
src/main/java/com/example/demo/entity/DashboardData.java
-
代码:
java
复制
@Entity @Table(name = "dashboard_data") public class DashboardData { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String subtitle; private String top; private String dataName; // 对应数据库字段 data_name private Integer dataValue; // 对应数据库字段 data_value private String dataColor; // 对应数据库字段 data_color // Getters and Setters(可用 Lombok @Data 简化) }
-
注意:若未使用 Lombok,需手动生成 Getter 和 Setter。
-
四、创建 Repository 接口
-
新建接口
DashboardDataRepository
-
路径:
src/main/java/com/example/demo/repository/DashboardDataRepository.java
-
代码:
java
复制
public interface DashboardDataRepository extends JpaRepository<DashboardData, Long> { }
-
五、编写 Service 层
-
创建服务类
DataService
-
路径:
src/main/java/com/example/demo/service/DataService.java
-
代码:
java
复制
@Service public class DataService { @Autowired private DashboardDataRepository dataRepository; public List<DashboardData> findAll() { return dataRepository.findAll(); } }
-
六、编写 Controller 层
-
创建控制器
DataController
-
路径:
src/main/java/com/example/demo/controller/DataController.java
-
代码:
java
复制
@RestController @RequestMapping("/api/data") public class DataController { @Autowired private DataService dataService; @GetMapping public List<DataItemDTO> getAllData() { // 调用服务层获取原始数据 List<DashboardData> entities = dataService.findAll(); // 转换为 DTO 格式 return entities.stream() .map(DataItemDTO::new) .collect(Collectors.toList()); } }
-
-
创建 DTO 类
DataItemDTO
-
路径:
src/main/java/com/example/demo/dto/DataItemDTO.java
-
代码:
java
复制
public class DataItemDTO { private String subtitle; private String top; private Map<String, Object> data; public DataItemDTO(DashboardData entity) { this.subtitle = entity.getSubtitle(); this.top = entity.getTop(); this.data = new HashMap<>(); this.data.put("name", entity.getDataName()); this.data.put("value", entity.getDataValue()); this.data.put("color", entity.getDataColor()); } // Getters and Setters }
-
七、配置跨域(CORS)
-
新增配置类
CorsConfig
-
路径:
src/main/java/com/example/demo/config/CorsConfig.java
-
代码:
java
复制
@Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**") .allowedOrigins("http://localhost:8081") // Vue 前端地址 .allowedMethods("GET", "POST"); } }
-
八、运行与测试
-
启动 Spring Boot 应用
-
右键
DemoApplication
→Run
。
-
-
使用 Apifox 测试 API
-
发送
GET http://localhost:8080/api/data
-
预期响应:
json
复制
[ { "subtitle": "675人(2345次/4533元)", "top": "23%", "data": { "name": "数据1", "value": 445, "color": "#0E4CFF" } }, // 其他数据条目... ]
-
九、常见问题解决
-
数据库连接失败
-
检查
application.properties
中的数据库 URL、用户名、密码。 -
确保 MySQL 服务已启动。
-
-
字段映射错误
-
在实体类中使用
@Column
注解显式指定数据库字段名:java
复制
@Column(name = "data_name") private String dataName;
-
-
跨域请求被拦截
-
确认
CorsConfig
中allowedOrigins
配置了正确的 Vue 前端地址。
-
-
数据未返回预期格式
-
检查 DTO 转换逻辑,确保字段名与前端一致。
-
十、扩展建议
-
添加数据初始化脚本
-
在
src/main/resources/data.sql
中插入测试数据:sql
复制
INSERT INTO dashboard_data (subtitle, top, data_name, data_value, data_color) VALUES ('675人(2345次/4533元)', '23%', '数据1', 445, '#0E4CFF'), ('600人(2345次/4533元)', '39%', '数据2', 60, '#B405FD');
-
-
增强错误处理
-
使用
@ControllerAdvice
全局异常处理,返回统一错误格式。
-
-
日志记录
-
在
application.properties
中添加日志级别配置:properties
复制
logging.level.root=INFO logging.level.org.springframework.web=DEBUG
-
通过以上步骤,你可以从零开始构建一个完整的 Spring Boot 后端程序,并通过 API 提供符合前端需求的数据。后续开发中,逐步添加业务逻辑和安全性(如 JWT 鉴权)。