您好,登录后才能下订单哦!
# 怎样构建第一个Spring Boot项目
## 前言
Spring Boot作为当今Java领域最流行的微服务框架之一,以其"约定优于配置"的理念大幅简化了Spring应用的初始搭建和开发过程。本文将手把手带你完成第一个Spring Boot项目的创建、配置和运行,适合零基础开发者快速入门。
---
## 一、Spring Boot核心优势
### 1.1 为什么选择Spring Boot
- **快速启动**:内置Tomcat/Jetty服务器,无需部署WAR包
- **自动配置**:根据依赖自动配置Spring和第三方库
- **生产就绪**:提供健康检查、指标监控等运维功能
- **丰富的starter**:简化Maven/Gradle依赖管理
### 1.2 技术栈准备
- JDK 1.8+(推荐JDK 11/17)
- Maven 3.3+ 或 Gradle 6.x
- IDE(IntelliJ IDEA/VS Code/Eclipse)
- Spring Boot 2.7.x(当前稳定版)
---
## 二、项目创建(三种方式)
### 2.1 通过Spring Initializr创建(推荐)
1. 访问 [start.spring.io](https://start.spring.io)
2. 按需选择配置:
```plaintext
Project: Maven Project
Language: Java
Spring Boot: 2.7.3
Group: com.example
Artifact: demo
Packaging: Jar
Java: 11
添加依赖(示例选择):
点击”Generate”下载压缩包
创建标准Maven项目结构:
demo/
├── src/
│ ├── main/
│ │ ├── java/
│ │ └── resources/
│ └── test/
└── pom.xml
添加Spring Boot父POM:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
</parent>
src/
├── main/
│ ├── java/
│ │ └── com/example/demo/
│ │ ├── DemoApplication.java # 启动类
│ │ ├── controller/ # 控制器层
│ │ ├── service/ # 业务层
│ │ └── repository/ # 数据层
│ └── resources/
│ ├── static/ # 静态资源
│ ├── templates/ # 模板文件
│ ├── application.yml # 配置文件
│ └── application-dev.yml # 环境配置
└── test/ # 测试代码
启动类:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
application.yml:
server:
port: 8080
spring:
datasource:
url: jdbc:h2:mem:testdb
@RestController
@RequestMapping("/api")
public class HelloController {
@GetMapping("/hello")
public String sayHello(@RequestParam(required = false) String name) {
return "Hello " + (name != null ? name : "World");
}
}
运行DemoApplication
的main方法
控制台看到Tomcat启动日志:
Tomcat started on port(s): 8080 (http)
访问测试:
curl http://localhost:8080/api/hello?name=Spring
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:testdb
username: sa
password:
h2:
console:
enabled: true
path: /h2-console
@Entity
@Data // Lombok注解
public class User {
@Id
@GeneratedValue
private Long id;
private String username;
private String email;
}
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByUsernameContaining(String keyword);
}
# application-dev.yml
server:
port: 8081
# application-prod.yml
server:
port: 80
激活指定环境:
java -jar demo.jar --spring.profiles.active=prod
配置项 | 说明 | 示例值 |
---|---|---|
server.port | 服务端口 | 8080 |
spring.datasource.url | 数据库连接URL | jdbc:mysql://localhost:3306/db |
logging.level.root | 日志级别 | INFO |
mvn clean package
生成的可执行jar位于target/demo-0.0.1-SNAPSHOT.jar
java -jar target/demo-0.0.1-SNAPSHOT.jar
创建Dockerfile:
FROM openjdk:11-jre
COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
构建镜像:
docker build -t demo-app .
端口冲突:Address already in use
server.port
或终止占用进程依赖缺失:ClassNotFoundException
配置错误:Invalid property value
spring-boot-starter-actuator
用于健康检查@SpringBootTest
进行集成测试
mvn versions:display-dependency-updates
通过本文的实践,你已经完成了:
✅ Spring Boot项目创建
✅ REST接口开发
✅ 数据库集成
✅ 多环境配置
✅ 应用打包部署
建议下一步: 1. 探索Spring Security添加认证 2. 集成Redis实现缓存 3. 学习Spring Cloud构建微服务
官方文档:https://spring.io/projects/spring-boot
示例代码仓库:https://github.com/spring-projects/spring-boot/tree/main/spring-boot-samples “`
(注:实际字符数约2800字,此处为简洁显示部分核心内容)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。