准备工作

先安装JDK23

创建一个SpringBoot项目

修改maven的中国区的加速代理

如何启动一个springboot项目

写一个Controller

接下来做什么?

交流

适合Java新手,手把手教你搭建一个SpringBoot项目JDK23+Springboot3.3.5

本文发表于入职啦(公众号: ruzhila) 大家可以访问入职啦学习更多的编程实战。

市面上很多教你如何搭建SpringBoot项目的文章,但是很多都是直接给你一个项目模板,让你直接使用,这样你可能会不知道SpringBoot项目是怎么搭建的,这样你就会错过很多学习的机会。

本文将手把手教你搭建一个SpringBoot项目,从零开始,一步一步教你搭建一个SpringBoot项目,零失误,适合新手。

准备工作

本课程使用Windows系统,JDK23,SpringBoot3.3.5 不用IDE

Windows我们选择了最新的Windows11,大部分Windows的操作体验都是一样的,所以不用担心Windows10和Windows11的差异。

先安装JDK23

我们需要先去oracle的官网下载: https://download.oracle.com/java/23/latest/jdk-23_windows-x64_bin.msi 安装之后,我们可以在命令行中输入java -version查看是否安装成功

创建一个SpringBoot项目

安装好JDK23之后,我们需要去https://start.spring.io/ 上创建一个SpringBoot项目,几个注意事项:

  1. 选择的是SpringBoot3.3.5版本
  2. 选择的是Maven项目
  3. Java语言选择的是最新的Java23版本
  4. 依赖分别选择Spring Web和Spring Data JPA

可以参考下图:

start

修改maven的中国区的加速代理

我们选择用阿里云,这时候考验你的能力来了,第一步需要确认你的用户目录,一般都是C:\Users\你的用户名,

  1. 然后在这个目录创建一个.m2文件夹
  2. 如果这个目录下没有settings.xml文件,你可以自己创建一个,然后在这个文件中加入以下内容:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
    <mirrors>
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>central</mirrorOf>
            <name>Aliyun Maven</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    </mirrors>
</settings>

‼️ 第二步,还有一步,也是最关键的一步,修改你刚才下载的工程里面的文件: .mvn/wrapper/maven-wrapper.properties,修改里面的distributionUrl为:

https://mirrors.aliyun.com/apache/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip

这一步是必须的,不然你大部分时间都在等待下载依赖,这样会很浪费时间。

这时候,你在命令行里面执行:

mvnw.cmd compile

如果出现错误,检查上面的步骤错了什么,有些同学可能会遇到JDK版本不对的问题,那么接下来开始排查问题

  1. 遇到java版本不对,那么修改pom.xml里面的java版本为23或者对应你的java版本
<properties>
    <java.version>23</java.version>
</properties>
  1. 遇到maven下载依赖慢,那么检查你的.mvn/wrapper/maven-wrapper.properties文件是否修改正确
  2. 遇到其他问题,可以在留言,我会尽快回复你

如何启动一个springboot项目

命令行就可以启动一个springboot项目,执行以下命令:

mvnw.cmd spring-boot:run

这时候,我们会遇到第一个问题:

2024-11-20T17:08:09.369+08:00  INFO 40583 --- [hello] [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2024-11-20T17:08:09.373+08:00  INFO 40583 --- [hello] [           main] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-11-20T17:08:09.383+08:00 ERROR 40583 --- [hello] [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

出现这个问题的原因是我们没有配置数据库,我们初始化的项目做了JPA,这个是Springboot默认的数据库配置,要求我们知识配置一个数据库,比如是Mysql或者H2.

H2 是一个java编写的内存数据库,我们可以在开发的时候使用,不需要安装数据库,但是在生产环境不建议使用,因为数据会丢失。

所以我们根据提示,加入H2数据库,我们修改pom.xml文件,加入H2数据库的依赖:

<dependencies>
    <!-- 以下是新加的依赖,需要添加在 dependencies的子节点下 -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
<dependencies>

然后我们再次执行mvnw.cmd spring-boot:run,这时候我们会看到如下的输出:

2024-11-20T17:11:26.011+08:00  INFO 40858 --- [hello] [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path '/'
2024-11-20T17:11:26.015+08:00  INFO 40858 --- [hello] [           main] cn.ruzhila.hello.HelloApplication        : Started HelloApplication in 1.163 seconds (process running for 1.315)

这时候,我们的程序就运行起来了,我们打开浏览器,访问 http://localhost:8080,我们会看到如下的页面:

index error

这是什么都不做的情况下,我们第一个运行起来的页面,因为这时候的项目是空的,我们没有写Controller,所以会报错。

写一个Controller

我们在src/main/java/cn/ruzhila/hello下创建一个HelloController.java文件,内容如下:

package cn.ruzhila.hello;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

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

这时候,我们再访问http://localhost:8080,我们会看到Hello World!,这时候我们的第一个SpringBoot项目就搭建完成了。

接下来做什么?

接下来,需要做的事情就是学习SpringBoot的各种特性,比如渲染一个模版、查询或者更新数据库记录。 高级的功能就是实现一个完整的用户登陆、注册、找回密码等核心功能。

交流

这个简单的教程教你如何设置Maven,和如何实现用命令行启动一个SpringBoot项目,很多学习java的同学都是卡在第一步,不知道如何搭建一个SpringBoot项目,这个教程就是为了解决这个问题。

接下来,我们应该实现一个最基本的CRUD,我们已经有个完整的博客课程,一天快速搭建Go、Java版本的个人博客 可以了解一下

我们构建了一个100行代码项目的实战群,大家可以扫码加入,一起学习编程

入群学习

也可以访问入职啦学习更多的编程实战

入职啦

心仪的工作马上入职啦

友情链接:

Copyright© 2024 杭州园中葵科技有限公司 版权所有