本文详细介绍了如何创建Springboot项目,包括开发环境的搭建、使用Spring Initializr创建项目以及项目的基本结构和配置。文中还提供了从下载项目到运行和部署项目的完整流程,帮助你快速掌握创建Springboot项目资料。
引入Spring Boot框架Spring Boot 是一个基于Spring框架的开源微服务框架,旨在简化新Spring应用的初始搭建以及开发过程。Spring Boot通过提供一系列预设的默认配置来帮助开发者快速搭建和部署独立的、生产级别的应用。它消除了开发者在配置Spring应用时的许多复杂性,使得开发者可以专注于编写业务逻辑。
application.properties
中设置端口号即可。pom.xml
中添加依赖项,Spring Boot会自动处理这些依赖。@SpringBootTest
注解可以轻松编写集成测试。Spring Boot应用需要运行在Java环境上,因此首先需要安装Java开发工具包(JDK)。推荐安装Java Platform,Standard Edition (SE) 8或更高版本。
安装JDK:
java -version
java version "1.8.0_301" Java(TM) SE Runtime Environment (build 1.8.0_301-b04) Java HotSpot(TM) 64-Bit Server VM (build 25.301-b04, mixed mode)
安装IntelliJ IDEA:
Maven和Gradle是两种流行的构建工具,用于管理项目的构建、依赖和文档。
安装Maven:
mvn -version
Apache Maven 3.8.5 (15b111594b20059_queries@743cfe0e - 2020-08-17T17:08:38Z) Java version: 1.8.0_301, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-oracle/jre Operating system: Linux 5.10.0-20-amd64, x86-64
安装Gradle:
gradle -v
Gradle 6.8.3 Groovy 2.5.11 Ant 1.10.9 JVM Java HotSpot(TM) 64-Bit Server VM 1.8.0_241-b08 JVM Vendor Oracle Corporation JVM Version 1.8.0_241-b08 OS Linux 4.15.0-155-generic JVM Memory 30 MB
Spring Initializr是一个在线工具,帮助开发者快速创建Spring Boot项目。访问Spring Initializr官网,输入项目基本信息。
Add dependencies
按钮,选择需要的依赖,如Spring Web、Spring Data JPA等。Generate
按钮下载项目压缩包。项目设置:
Dependencies
区域,选择需要的依赖,如Spring Web、Spring Data JPA、Thymeleaf等。下载项目压缩包:
Generate
按钮下载项目压缩包。File -> Open
,打开项目文件夹。File -> Import
,选择Existing Maven Projects
。Finish
导入项目。一个典型的Spring Boot项目结构如下:
my-spring-boot-project/ ├── pom.xml ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── example/ │ │ │ └── myapp/ │ │ │ ├── Application.java │ │ │ └── controller/ │ │ │ └── HelloController.java │ │ └── resources/ │ │ ├── application.properties │ │ ├── static/ │ │ └── templates/ │ └── test/ │ └── java/ │ └── com/ │ └── example/ │ └── myapp/ │ └── MyApplicationTests.java └── README.md
pom.xml
文件包含项目依赖项和构建配置。application.properties
等。application.properties
文件位于src/main/resources
目录下,用于配置Spring Boot应用的属性。常见的配置项包括端口号、数据库连接信息、编码设置等。
服务器配置:
server.port=8080
数据源配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
日志配置:
logging.level.org.springframework.web=DEBUG logging.level.com.example.myapp=INFO
Controller类用于处理HTTP请求,通常包含一些简单的请求处理方法。下面是一个简单的HelloController类示例:
package com.example.myapp.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/") public String hello() { return "Hello, Spring Boot!"; } }
@RestController
:表示该类是一个RESTful风格的控制器。@GetMapping("/")
:映射HTTP GET请求到根路径/
。hello()
:处理HTTP GET请求的方法,返回字符串Hello, Spring Boot!
。在IDE中运行:
Application.java
类,该类通常位于src/main/java
目录下。Application.java
类,选择Run
运行应用。http://localhost:8080/
,可以看到返回的Hello, Spring Boot!
字符串。在命令行中运行:
mvn spring-boot:run
./gradlew bootRun
以下是应用启动时的输出日志示例:
2023-08-15 14:30:00 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) 2023-08-15 14:30:00 [main] INFO com.example.myapp.Application - Started Application in 2.564 seconds (JVM running for 3.073)
使用Maven打包:
mvn clean package
打包完成后,会生成一个target
目录,包含一个可执行的JAR文件,如my-spring-boot-project-0.0.1-SNAPSHOT.jar
。
[INFO] Reactor Summary: [INFO] [INFO] my-spring-boot-project 0.0.1-SNAPSHOT SUCCESS [INFO] └─my-spring-boot-module 0.0.1-SNAPSHOT SUCCESS [INFO] [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.549 s [INFO] Finished at: 2023-08-15T14:30:00Z [INFO] Final Memory: 17M/314M [INFO] ------------------------------------------------------------------------
使用Gradle打包:
./gradlew build
打包完成后,会生成一个build
目录,包含一个可执行的JAR文件,如my-spring-boot-project-0.0.1-SNAPSHOT.jar
。
BUILD SUCCESSFUL in 2s 4 actionable tasks: 4 up-to-date
在服务器上部署:
java -jar my-spring-boot-project-0.0.1-SNAPSHOT.jar
http://<server-ip>:8080/
,可以看到返回的Hello, Spring Boot!
字符串。使用容器化技术部署:
Dockerfile
文件,内容如下:FROM openjdk:8-jdk-alpine COPY target/my-spring-boot-project-0.0.1-SNAPSHOT.jar my-spring-boot-project.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","my-spring-boot-project.jar"]
docker build -t my-spring-boot-project:0.0.1 .
docker run -p 8080:8080 -d my-spring-boot-project:0.0.1
http://<server-ip>:8080/
,可以看到返回的Hello, Spring Boot!
字符串。通过以上步骤,你已经成功创建了一个简单的Spring Boot应用,并将其打包和部署到服务器上。接下来,你可以继续学习更多关于Spring Boot的高级特性和最佳实践,进一步提高开发效率和应用质量。