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
打开配置界面,搜索Maven,将红框中的配置换为自己的安装的目录
我们以创建一个RESTFUL的web接口为例
选择新建项目
左边菜单选择Maven,点击下一步
Name中输入Hello,点击完成
新建完成之后,IDEA右下角会有一个弹框提示,选择开启,IDE会自动将填写的依赖下载同步到本地
打开根目录的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继承,这样会提供很多的默认配置,配置如下
配置完成之后,加入依赖包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包。
先创建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); } }
选中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"; } }
在HelloWorldMainApplication文件中的main方法旁边点击运行按钮
运行成功后命令行会有以下输出,默认启动8080端口
在浏览器访问localhost:8080/hello,输出以下内容即成功
将服务打包为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