Spring Boot 项目搭建

本文介绍了如何使用SpringInitializr初始化SpringBoot项目,包括配置项目类型、编程语言和依赖,展示了SpringBoot项目的目录结构,并通过实例演示了如何开发和测试第一个Controller。
摘要由CSDN通过智能技术生成

1. 创建 Spring Boot 项目

1.1 Spring Initializr

1.1.1 使用 Spring Initializr 初始化

Spring 官方提供了 Spring Initializr 来进行 Spring Boot 项目的初始化。

图1 Spring Initializr 网站

1.1.2 使用 IDEA 编辑器初始化

图2 使用 IDEA 编辑器初始化 Spring Boot 项目

 1.2 Spring Boot 项目初始化配置

  • Project:表示Spring Boot 项目类型,这里我们选择常用的Maven。
  • Language:编程语言。
  • Spring Boot:选择 Spring Boot的版本,默认的是稳定的版本。
  • Project Metadata:表示项目的基础设置,包括:项目包名、打包方式、JDK 版本。
  • Group:即GroupID,表示项目组织的标识符,对应 Java 的包结构,是 main 目录里的 Java 目录结构。
  • Artifact:即ArtifactId,表示项目的标识符,对应项目的名称,是项目根目录的名称。
  • Description:项目描述信息。
  • Package name:表示项目包名。
  • Packaging:表示项目的打包方式,选用的方式不同,导入的打包插件也有区别。
  • Java:表示 JDK 版本。
  • Dependencies:项目所需的依赖和 starter。如 Web 开发所需的依赖、数据库开发所需的依赖等。

2. Spring Boot 项目目录结构

图3 Spring Boot 项目的目录结构图解

Spring Boot 的目录结构主要由以下部分组成:

  • src
    • main
      • java:Java 程序开发目录;
      • resources:配置文件目录,主要用于存放静态文件、模板文件、配置文件;
        • static:存放静态资源文件;
        • templates:存放模板文件;
    • test
      • java:测试类文件夹;
  • pom.xml:配置项目依赖;

3. Spring Boot,启动!

使用 IDEA 启动 Spring Boot,很方便,控制台会输出启动日志:

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.1.5)

2023-11-12T15:47:37.246+08:00  INFO 29032 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication using Java 17.0.8 with PID 29032 (E:\Users\Desktop\develop\demo\target\classes started by 14811 in E:\Users\Desktop\develop\demo)
2023-11-12T15:47:37.250+08:00  INFO 29032 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to 1 default profile: "default"
2023-11-12T15:47:38.079+08:00  INFO 29032 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-11-12T15:47:38.091+08:00  INFO 29032 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-11-12T15:47:38.091+08:00  INFO 29032 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.15]
2023-11-12T15:47:38.180+08:00  INFO 29032 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-11-12T15:47:38.180+08:00  INFO 29032 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 868 ms
2023-11-12T15:47:38.527+08:00  INFO 29032 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2023-11-12T15:47:38.534+08:00  INFO 29032 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.752 seconds (process running for 2.418)

其中,前面部分为 Spring Boot 的启动 Banner 和 Spring Boot 的版本号,中间部分为 Tomcat 启动信息 及 ServletWebServerApplicationContext 加载完成信息,后面部分为 Tomcat 的启动端口和项目启动时间。

例如,以上日志信息可以看出, Spring Boot 启动成功花费 1.752 秒,Tomcat 服务器监听的端口号为 8080。

4.开发第一个 Spring Boot 项目

打开浏览器访问 8080 端口:

图4 Whitelabel Error Page 页面

报错为 404 错误,因为项目中没有增加任何一行代码,没有接口,也没有界面。

自行实现一个 Controller 查看 Spring Boot 如何处理 Web 请求。新建名为 controller 的Java 包,新建名为 HelloController 的Java类,代码如下:

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

    @GetMapping("/hello")
    @ResponseBody
    public String hello() {
        return "hello, spring boot!";
    }
}

重新启动项目,访问 localhost:8080/hello,效果如下:

图5 HelloController 页面效果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值