Spring环境搭建+入门
环境准备
在本文中用到了以下环境:
工具:IntelliJ IDEA 2023.1
Maven版本:apache-maven-3.6.3
jdk版本:jdk17
创建Spring项目
1,打开Idea后,选择New Project
创建一个新项目
2,选择Spring Initializer模板去自动创建Spring项目项目名字任意,注意jdk要选择17,我们这边使用的Spring3的版本,最低支持jdk17。然后点击next。
3,选择Spring Boot版本3.0.6,并且按下图选择依赖,最后点击create,完成项目的创建。
检查Spring项目结构
创建完成后查看项目目录,如下图:
这是一个典型的Maven项目结构,包含main
和test
目录,还有资源目录resources
,以及一个pom.xml
文件。
在这个项目结构中,需要注意以下几点:
- mvnw 和 mvnw.cmd:Maven包装器(wrapper)脚本,即便你机器上没有安装Maven也能构建项目。
- pom.xml:Maven的配置文件,包含依赖坐标,插件等。
- DemoApplication.java:SpringBoot的主类,会启动项目。
- application.properties:包含了一些配置属性。
- static:存放为浏览器提供服务的静态资源,图片,JavaScript等。
- templates:渲染内容到浏览器的模板文件。
- DemoApplicationTests.java:测试类,确保Spring应用上下文正确加载。
构建规范(pom.xml的配置)
pom.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>demo</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
编写一个简单的Spring应用
处理Web请求
首先要有一个控制器,创建HomeController.java文件:
代码如下:
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/home")
public String home(){
return "homepage"; //这里的homepage一定要和html文件同名
}
}
定义视图
我们创建一个简单页面欢迎用户访问,其他什么也不做。
在templates目录下创建homepage.html文件,代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="https://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Home Page</title>
</head>
<body>
<h1>Hello KUN~</h1>
<img th:src="@{/images/kun.png}"/>
</body>
</html>
这个html文件使用了Thymeleaf作为模板引擎。
启动Spring项目
1,进入DemoApplication类中点击框内按键启动:
2,打开控制台,看到tomcat自动启动了,在8080端口。
3,浏览器输入http://localhost:8080/home
即可显示:
小结
在本文中完成了以下步骤
- 使用Spring Initializr创建初始的项目结构
- 编写控制器类处理针对主页的请求
- 定义了一个视图模板来渲染主页
本文难免有纰漏和错误,欢迎评论区交流指正。