为了账号安全,请及时绑定邮箱和手机立即绑定

创建Springboot项目实战:新手入门教程

标签:
SpringBoot
概述

本文详细介绍了如何创建Springboot项目实战,涵盖了项目搭建、环境配置以及核心依赖的导入。通过Spring Initializr快速生成项目,并详细解释了项目结构和配置文件的使用方法。文章还提供了运行和调试项目的具体步骤,帮助开发者顺利完成Spring Boot项目的开发与部署。

Spring Boot简介

什么是Spring Boot

Spring Boot是由Pivotal团队提供的基于Spring框架的开源微服务应用程序框架。它旨在简化Spring应用的初始搭建以及开发过程。使用Spring Boot,开发者无需编写大量的配置代码,可以较快地搭建一个独立的Spring应用。

Spring Boot的优势

Spring Boot具有以下优势:

  1. 快速开发:简化了Maven/Gradle配置,减少了配置文件的数量,提供了大量的默认配置。
  2. 自动配置:Spring Boot能够自动配置Spring框架,减少了开发人员的配置工作。
  3. 嵌入式Servlet容器:Spring Boot默认嵌入了Tomcat、Jetty或Undertow,无需额外部署。
  4. 独立运行:支持打成可执行的JAR包,方便部署和运行。
  5. 无代码生成:相较于Spring应用,Spring Boot减少了代码生成,如配置文件所需。
  6. 全面性:提供了丰富的内建功能支持,如监控、日志、安全、数据库等。

Spring Boot的核心特性

Spring Boot的核心特性包括:

  1. 自动配置:基于Spring框架的自动配置功能,减少了开发者手动配置工作。
  2. 起步依赖:提供了大量的起步依赖,如spring-boot-starter-web用于构建Web应用。
  3. 命令行界面:提供了spring-boot-maven-plugin和spring-boot-gradle-plugin插件,支持命令行运行。
  4. 健康检查:内置了健康检查功能,可以通过/actuator/health端点获取应用的健康状态。
  5. 外部配置:支持从外部配置文件或环境变量加载配置,如application.propertiesapplication.yml

开发环境搭建

JDK安装与配置

  1. 访问Oracle官方网站下载JDK 11或更高版本。
  2. 解压下载的JDK安装包。
  3. 将解压后的文件夹路径添加到系统环境变量中,如JAVA_HOME指向解压后的文件夹路径,PATH变量中加入%JAVA_HOME%\bin
# 设置JAVA_HOME环境变量
export JAVA_HOME=/path/to/jdk

# 将%JAVA_HOME%/bin添加到PATH环境变量
export PATH=$JAVA_HOME/bin:$PATH

IDE选择与安装(推荐使用IntelliJ IDEA或Spring Tool Suite)

推荐使用IntelliJ IDEA或Spring Tool Suite(STS)。

  • IntelliJ IDEA:下载并安装最新版本的IntelliJ IDEA。
  • Spring Tool Suite(STS):下载并安装最新版本的STS,它是一个基于Eclipse的IDE,专为Spring开发而优化。

Maven/NPM配置

  1. Maven:下载并安装Maven,将Maven的bin目录添加到系统环境变量中。
export MAVEN_HOME=/path/to/maven
export PATH=$MAVEN_HOME/bin:$PATH
  1. NPM:安装Node.js,NPM会随着Node.js一起安装。
# 安装Node.js
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

创建Spring Boot项目

使用Spring Initializr创建项目

  1. 访问Spring Initializr网站。
  2. 选择项目的基本设置,如Spring Boot版本、语言、打包方式(Maven/Gradle)、模块(如Web、JPA)。
  3. 下载生成的项目文件,解压后导入到IDE中。

示例配置:

  • 项目元数据
    • 组织名(Group):com.example
    • 项目名(Artifact):demo
    • 版本(Version):2.7.0
    • 包类型(Packaging):Jar
    • Java版本(Java):11
    • 描述(Description):A simple Spring Boot project
    • 模块(Modules):Spring Web, Spring Data JPA, Spring DevTools

项目结构介绍

一个典型的Spring Boot项目结构如下:

src
├── main
│   ├── java
│   │   └── com
│   │       └── example
│   │           └── demo
│   │               ├── DemoApplication.java
│   │               ├── controller
│   │               │   └── HelloController.java
│   │               └── repository
│   │                   └── UserRepository.java
│   └── resources
│       ├── application.properties
│       └── static
│           └── index.html
└── test
    └── java
        └── com
            └── example
                └── demo
                    └── DemoApplicationTests.java

配置文件详解(application.properties/application.yml)

Spring Boot的配置文件通常位于src/main/resources目录下,常用的配置文件包括application.propertiesapplication.yml

application.properties示例:

# properties文件示例
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/testdb
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update

application.yml示例:

# yml文件示例
server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testdb
    username: root
    password: root
jpa:
  hibernate:
    ddl-auto: update

添加和使用依赖

导入Spring Boot项目依赖

pom.xml中添加依赖,例如spring-boot-starter-web用于构建Web应用,spring-boot-starter-data-jpa用于JPA支持。

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
</dependencies>

了解常用依赖的使用方法(如Web、JPA、Thymeleaf等)

  • Web:
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}
  • JPA:
@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    // getters and setters
}

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
  • Thymeleaf:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Home Page</title>
</head>
<body>
    <h1>Welcome to the Home Page</h1>
    <p th:text="'Message: ' + ${message}"></p>
</body>
</html>

编写简单的Spring Boot应用

创建第一个Spring Boot应用

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

控制器(Controller)的使用

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

服务层(Service)和数据访问层(Repository)的实现

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public User getUserById(Long id) {
        return userRepository.findById(id).orElse(null);
    }
}

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    User findUserById(Long id);
}

运行和调试项目

在IDE中运行Spring Boot应用

在IDE中,可以通过运行DemoApplication类的main方法启动Spring Boot应用。

调试应用

在IDE中设置断点,运行应用时会自动暂停在断点处,可以查看变量值、调用栈等信息。

打包并部署项目

  1. 打包项目:
mvn clean package
  1. 运行打包后的JAR文件:
java -jar target/demo-0.0.1-SNAPSHOT.jar

或者使用Docker容器:

FROM openjdk:11-jre-slim
COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t demo .
docker run -p 8080:8080 demo
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消