SpringBoot入门案例
项目名称:002-springboot-springmvc
1.创建一个新的Module,选择类型为Spring Initializr
2.指定GAV及pom配置信息
3.选择Spring Boot版本及依赖
会根据选择的依赖自动添加起步依赖并进行自动配置
4.修改Content Root路径及文件所在目录
5.对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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--继承SpringBoot框架的一个父项目,所有自己开发的Spring Boot都必须的继承-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--当前项目的GAV坐标-->
<groupId>com.bjpowernode.springboot</groupId>
<artifactId>002-springboot-springmvc</artifactId>
<version>1.0.0</version>
<!--maven项目名称,可以删除-->
<name>002-springboot-springmvc</name>
<!--maven项目描述,可以删除-->
<description>Demo project for Spring Boot</description>
<!--maven属性配置,可以在其它地方通过${}方式进行引用-->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--SpringBoot框架web项目起步依赖,通过该依赖自动关联其它依赖,不需要我们一个一个去添加了-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--SpringBoot框架的测试起步依赖,例如:junit测试,如果不需要的话可以删除-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!--SpringBoot提供的打包编译等插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
6.对SpringBoot项目结构进行说明
• mvn|mvnw|mvnw.cmd:使用脚本操作执行maven相关命令,国内使用较少,可删除
• gitignore:使用版本控制工具git的时候,设置一些忽略提交的内容
• static|templates:后面模板技术中存放文件的目录
• application.properties:SpringBoot的配置文件,很多集成的配置都可以在该文件中进行配置,例如:Spring、springMVC、Mybatis、Redis等。目前是空的
• Application.java:SpringBoot程序执行的入口,执行该程序中的main方法,SpringBoot就启动了
7.创建一个Spring MVC的SpringBootController
SpringBootController类所在包:com.bjpowernode.springboot.web
package com.bjpowernode.springboot.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* ClassName:SpringBootController
* Package:com.bjpowernode.springboot.web
* Description:<br/>
*/
@Controller
public class SpringBootController {
@RequestMapping(value = "/springBoot/say")
public @ResponseBody String say() {
return "Hello,springBoot!";
}
}
注意:新创建的类一定要位于Application同级目录或者下级目录,否则SpringBoot加载不到。
8.在IDEA中右键,运行Application类中的main方法
通过在控制台的输出,可以看到启动SpringBoot框架,会启动一个内嵌的tomcat,端口号为8080,上下文根为空
9.在浏览器中输入http://localhost:8080/springBoot/say访问
1.Spring Boot的父级依赖spring-boot-starter-parent配置之后,当前的项目就是Spring Boot项目
2.spring-boot-starter-parent是一个Springboot的父级依赖,开发SpringBoot程序都需要继承该父级项目,它用来提供相关的Maven默认依赖,使用它之后,常用的jar包依赖可以省去version配置
3.Spring Boot提供了哪些默认jar包的依赖,可查看该父级依赖的pom文件
4.如果不想使用某个默认的依赖版本,可以通过pom.xml文件的属性配置覆盖各个依赖项,比如覆盖Spring版本
<properties>
<spring.version>5.0.0.RELEASE</spring.version>
</properties>
5.@SpringBootApplication注解是Spring Boot项目的核心注解,主要作用是开启Spring自动配置,如果在Application类上去掉该注解,那么不会启动SpringBoot程序
6.main方法是一个标准的Java程序的main方法,主要作用是作为项目启动运行的入口
7.@Controller 及 @ResponseBody 依然是我们之前的Spring MVC,因为Spring Boot的里面依然是使用我们的Spring MVC + Spring + MyBatis 等框架