本节课最终要完成的目标:浏览器发送hello请求,服务器接收请求并处理,向页面响应Hello World字符串
因为第一次使用IntelliJ IDEA开发工具(听说现在比较流行,反正是学习Spring Boot,不如顺带把这个工具也学了),所以会记录一些IntelliJ IDEA工具的使用方法,结果显得内容比较啰嗦,请路过的小伙伴见谅!!!
一、准备环境
本人使用的版本仅供参考
- 开发工具:IntelliJ IDEA
(没有这个工具的小伙伴,去官网下载)
- JDK
- Maven
打开maven的setting.xml文件,在其中增加配置,设置MAVEN默认使用的jdk版本。
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
- 在IntelliJ IDEA中配置MAVEN
初次打开IntelliJ IDEA 界面,选择Configure > Settings
最后一步别忘了,Apply > OK,配置完成。
已经进入工程页面的小伙伴,可以选择关闭工程进入欢迎界面 File > Close Project
二、创建工程
创建一个MAVEN工程,选择 Create New Project
填写GroupId、ArtifactId以及Version,然后选择Next。
这里介绍一下GroupId、ArtifactId的作用:
在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是GroupId、ArtifactId以及Version。这三个属性可以唯一确定一个组件(Jar包或者War包)。
GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的GroupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,ArtifactId是tomcat。
比如我创建一个项目,我一般会将GroupId设置为cn.mht,cn表示域为中国,mht是我个人姓名缩写,ArtifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,在你创建Maven工程后,新建包的时候,包结构最好是cn.zr.testProj打头的,如果有个StudentDao[Dao层的],它的全路径就是cn.zr.testProj.dao.StudentDao
有关Version的介绍:理解Maven中的SNAPSHOT版本和正式版本
点击Finish。
三、导入jar包
导入Spring Boot 相关依赖包
- 打开Spring官网
- 找到当前Spring Boot的稳定版本(GA:General Availability,正式发布的版本,在国外都是用GA来说明release版本的。)
- 配置pom.xml
在生成出来的pom.xml文件中,将部分代码拷贝到我们的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 http://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>2.1.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.springboottest</groupId>
<artifactId>SpringBootHelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 这个插件可以将应用打成一个可执行的jar包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置完成pom.xml,maven会去远程仓库下载依赖包及插件,等待一会……
下载完成之后会看到External Libraries下多了许多文件,这样就成功了。
四、编写主程序,启动spring boot 应用
在src\main\java目录下创建主程序cn\spring\HelloWorldMainApplication.java
package cn.spring;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/*@SpringBootApplication 这个标记表示,这是一个Spring Boot应用的主程序类*/
@SpringBootApplication
public class HelloWorldMainApplication {
//快捷键psvm
public static void main(String[] args) {
//启动spring应用
SpringApplication.run(HelloWorldMainApplication.class);
}
}
五、编写相关的Controller, Service
在src\main\java\cn\spring下创建controller\HelloController.java(这里要特别注意下目录结构)
package cn.spring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloWorld {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "HelloWorld!";
}
}
六、运行主程序,测试
七、简化部署
- 安装打包插件
就是以下这部分配置添加到pom.xml中,如果在上面的时候已经添加了,这里就无需添加了。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
- 打包
Maven > Lifecycle > package > 双击
- 部署jar包
Windows + R 打开 CMD
进入到复制出来的jar包的位置,运行:
C:\Users\49906\Desktop>java -jar SpringBootHelloWorld-1.0-SNAPSHOT.jar
现在去浏览器测试一下,这样就成功了