创建SpringBoot项目
利用IDEA提供的Spring Initializr创建SpringBoot项目,或者去到对应官网Spring Initializr进行项目创建。
其中Group一般输入公司域名,Artifact一般为项目名称。
基础依赖只需选中Web选项中的Spring Web,则在项目形成时会自动导入该依赖。(注意配置Maven仓库)
pom.xml配置文件dependencies一览
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--Springboot 中的热部署相信大家用的最多的就是DevTools,没办法,官推的。
同时,devtools 还是有不少缺点的,
第一点:devtools 仅局限于Springboot项目,在非Springboot项目中无法使用的;
第二点:devtools 功能有限制,方法内的修改可以实现热部署,但新增的方法或者修改方法参数之后热部署是不生效的。
它与另外一个 IDEA 的热加载插件JRebel相比,个人觉得无论是加载速度还是使用便捷,JRebel都是完胜,JRebel唯一缺点就是收费。
https://blog.csdn.net/zzuhkp/article/details/123518123-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!--swagger相关依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!--mybatis-plus相关依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.9</version>
</dependency>
</dependencies>
application.properties文件一览
# 热部署生效
spring.devtools.restart.enabled=true
# 设置重启目录
spring.devtools.restart.additional-path=src/main/java
# 设置classpath目录下的WEB-INF文件夹内容修改不重启
spring.devtools.restart.exclude=static/**
# 单个文件最大字节限制
logging.logback.rollingpolicy.max-file-size=10MB
# 一次文件传输最大字节限制
spring.servlet.multipart.max-request-size=10MB
# 指定静态资源访问路径,同时只能存在一个静态资源访问路径
spring.web.resources.static-locations=/upload/
# 该配置项用于协调springboot版本与swagger2版本之间的冲突,点明请求路径与 SpringMVC 处理映射匹配的默认策略
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
server.servlet.encoding.force=true
server.servlet.encoding.charset=UTF-8
创建控制器Controller
Spring Boot中@PathVariable、@RequestParam和@RequestBody的区别和使用
@RestController
public class HelloController {
// http://localhost:8080/hello
// http://localhost:8080/hello?nickname=zhangsan
@GetMapping("/hello")
public String hello(@RequestParam("nickname") String name){
return "你好!" + name;
}
}
一个最基本的web项目就完成啦~!