安装安装JDK
启动Idea → 新建项目 → 选择Java → 在Project SDK中选择下载JDK
配置Maven
启动Idea → Customize → All Settings… → 查看Maven配置
配置maven仓库镜像
在 .m2 文件夹中新建 settings.xml 文件:
使用阿里云maven仓库镜像来添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
安装Postman
Postman是一个 http 请求模拟工具,常用于测试后台接口
官网: https://www.postman.com/downloads/
Hello MVC
新建项目
New Project → 通过 Spring Initializr 创建 Spring Boot 项目。
demo项目结构
Spring Boot入口程序(类)
入口类默认名:项目名+Application
什么是注解式编程
◼ 未来框架的趋势是“约定大于配置”,代码的封装会更严密。开发人 员会将更多的精力放在代码的整体优化和业务逻辑上,注解式编程会 被更加广泛地使用。
◼ 注解(annotation)可用来定义一个类、属性或方法,以便程序能被 编译处理。它相当于一个说明,告诉应用程序某个被注解的类或属性 是什么,要怎么处理。
◼ SpringBoot提供了大量的注解。
pom.xml:Maven项目管理文件
- Spring Boot父级依赖,这样当前的项目就是Spring Boot项目了 它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖 可以省去version标签
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
</parent>
- 项目信息
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
- Java版本信息
<properties>
<java.version>15</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.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
Thymeleaf 网页模板引擎<artifactId>spring-boot-starter-web</artifactId>
用于构建 Web 应用程序的 starter 组件 starter组件:Spring Boot为了简化配置,提供了非常多的starter, 它先打包好与常用模块相关的所有jar包,并完成自动配置,这使 得开发时不需要过多关注框架配置,只需关注业务逻辑即可。
包含 RESTful风格框架、SpringMVC 和默认的嵌入式容器 Tomcat<artifactId>spring-boot-devtools</artifactId>
使Spring Boot应用支持热部署
★ 热部署:为了更好支持程序调试,在项目进行修改之后不需要耗费 时间重启,在程序正运行情况下即可实时生效。以节约时间和操作, 提高开发效率。
-
<artifactId>spring-boot-starter-test</artifactId>
SpringBoot项目单元测试 -
maven插件信息
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>14</source>
<target>14</target>
</configuration>
</plugin>
</plugins>
</build>
添加控制器
- 在 com.example.demo 包中新建 controller 包
- 在 controller 包中新建类: HelloController
HelloController.java
@RestController 注解用于标注控制器类
该控制器里面的方法都以 json 格式输出
@RequestMapping 注解用于配置 URL 映射即确定请求所对应的处理方法
@RestController 相当于@Controller+@ResponseBody
package com.example.demo.controller;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String index(){
return "hello world";
}
@RequestMapping("/test")
public Map<String,String> test(){
Map<String,String> map=new HashMap<String, String>();
map.put("username","wustzz");
map.put("password","123456");
return map;
}
}