Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

下载Maven可执行文件

  1. cd /usr/local
  2. sudo wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
  3. sudo tar zxvf ./apache-maven-3.6.3-bin.tar.gz
  4. sudo rm -rf apache-maven-3.6.3-bin.tar.gz

编辑~/.bash_profile文件

  1. vim ~/.bash_profile

加入以下内容

  1. export MAVEN_HOME=/usr/local/apache-maven-3.6.3
  2. export PATH=${PATH}:${MAVEN_HOME}/bin

使得环境变量生效

  1. source ~/.bash_profile

打开配置界面,搜索Maven,将红框中的配置换为自己的安装的目录

我们以创建一个RESTFUL的web接口为例

选择新建项目

左边菜单选择Maven,点击下一步

Name中输入Hello,点击完成

新建完成之后,IDEA右下角会有一个弹框提示,选择开启,IDE会自动将填写的依赖下载同步到本地

打开根目录的pox.xml,在project标签下加入以下内容

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.2.5.RELEASE</version>
  5. <relativePath/>
  6. </parent>

以上代码表示pom文件从spring-boot-starter-parent继承,这样会提供很多的默认配置,配置如下

  • Java版本(Java8)
  • 源码的文件编码方式(UTF-8)
  • 依赖管理
  • 打包支持
  • 动态识别资源
  • 识别插件配置
  • 识别不同的配置,如:application-dev.properties 和 application-dev.yml

配置完成之后,加入依赖包spring-boot-starter-web

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. </dependency>
  6. </dependencies>

spring-boot-starter-web会自动帮我们引入了web模块开发需要的相关jar包。

先创建Java Class

输入类名称,名称可自定义,我写的是com.enoch.HelloWorldMainApplication

在生成的类上方,加入注解@SpringBootApplication

@SpringBootApplication标注的类是是SpringBoot的主配置类,Spring Boot会运行这个类的main方法来启动应用。

键入psvm自动生成main方法,并在main方法中输入以下内容

  1. package com.enoch;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class HelloWorldMainApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(HelloWorldMainApplication.class, args);
  8. }
  9. }

选中com.enoch,创建controller.HelloController类

类上方加入@Controller注解

  1. package com.enoch.controller;
  2. import org.springframework.stereotype.Controller;
  3. @Controller
  4. public class HelloController {
  5. }

控制器中加入hello方法,并在方法上方加入@RequestMapping注解

  1. package com.enoch.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. @Controller
  5. public class HelloController {
  6. @RequestMapping("/hello")
  7. public String hello() {
  8. return "Hello world";
  9. }
  10. }

RequestMapping的作用是配置访问路由,是接口请求时的path

最后再加入@ResponseBody注解,将hello方法中返回的数据作为响应内容输出

  1. package com.enoch.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.ResponseBody;
  5. @Controller
  6. public class HelloWorldController {
  7. @ResponseBody
  8. @RequestMapping("/hello")
  9. public String hello() {
  10. return "Hello World";
  11. }
  12. }

在HelloWorldMainApplication文件中的main方法旁边点击运行按钮

运行成功后命令行会有以下输出,默认启动8080端口

在浏览器访问localhost:8080/hello,输出以下内容即成功

将服务打包为jar文件,方便部署

首先在pom.xml加入插件spring-boot-maven-plugin

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. </plugin>
  7. </plugins>
  8. </build>

点击IDE右方的Maven,双击Lifecycle中的package,会自动进行打包

打包成功后会在target中生成对应的jar文件

在命令行执行该文件可以直接启动服务

  1. java -jar merchants-0.1jar

版权声明:本文为enochzzg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/enochzzg/p/12379911.html