1、环境准备
1.1、Maven安装配置
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
下载Maven可执行文件
cd /usr/local
sudo wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
sudo tar zxvf ./apache-maven-3.6.3-bin.tar.gz
sudo rm -rf apache-maven-3.6.3-bin.tar.gz
编辑~/.bash_profile文件
vim ~/.bash_profile
加入以下内容
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=${PATH}:${MAVEN_HOME}/bin
使得环境变量生效
source ~/.bash_profile
1.2、IDEA配置
打开配置界面,搜索Maven,将红框中的配置换为自己的安装的目录
2、编写第一个程序
我们以创建一个RESTFUL的web接口为例
2.1、新建一个Maven项目
选择新建项目
左边菜单选择Maven,点击下一步
Name中输入Hello,点击完成
新建完成之后,IDEA右下角会有一个弹框提示,选择开启,IDE会自动将填写的依赖下载同步到本地
2.2、配置POM
打开根目录的pox.xml,在project标签下加入以下内容
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/>
</parent>
以上代码表示pom文件从spring-boot-starter-parent继承,这样会提供很多的默认配置,配置如下
- Java版本(Java8)
- 源码的文件编码方式(UTF-8)
- 依赖管理
- 打包支持
- 动态识别资源
- 识别插件配置
- 识别不同的配置,如:application-dev.properties 和 application-dev.yml
配置完成之后,加入依赖包spring-boot-starter-web
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
spring-boot-starter-web会自动帮我们引入了web模块开发需要的相关jar包。
2.3、创建入口
先创建Java Class
输入类名称,名称可自定义,我写的是com.enoch.HelloWorldMainApplication
在生成的类上方,加入注解@SpringBootApplication
@SpringBootApplication标注的类是是SpringBoot的主配置类,Spring Boot会运行这个类的main方法来启动应用。
键入psvm自动生成main方法,并在main方法中输入以下内容
package com.enoch;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloWorldMainApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWorldMainApplication.class, args);
}
}
2.4、创建控制器
选中com.enoch,创建controller.HelloController类
类上方加入@Controller注解
package com.enoch.controller;
import org.springframework.stereotype.Controller;
@Controller
public class HelloController {
}
控制器中加入hello方法,并在方法上方加入@RequestMapping注解
package com.enoch.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello world";
}
}
RequestMapping的作用是配置访问路由,是接口请求时的path
最后再加入@ResponseBody注解,将hello方法中返回的数据作为响应内容输出
package com.enoch.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloWorldController {
@ResponseBody
@RequestMapping("/hello")
public String hello() {
return "Hello World";
}
}
2.5、启动web服务
在HelloWorldMainApplication文件中的main方法旁边点击运行按钮
运行成功后命令行会有以下输出,默认启动8080端口
在浏览器访问localhost:8080/hello,输出以下内容即成功
2.6、Jar文件打包
将服务打包为jar文件,方便部署
首先在pom.xml加入插件spring-boot-maven-plugin
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
点击IDE右方的Maven,双击Lifecycle中的package,会自动进行打包
打包成功后会在target中生成对应的jar文件
在命令行执行该文件可以直接启动服务
java -jar merchants-0.1jar