• SpringBoot安装与配置


    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
    

  • 相关阅读:
    防止死锁的加锁机制
    python线程threading.Timer源码解读
    python语言线程标准库threading.local源码解读
    栈和队列的总结
    如何根据入栈序列判断可能的出栈序列
    使用 Air 热编译 Gin 项目
    【Golang设计模式】7.外观模式
    Go中的数据类型、指针、new和make
    【Golang设计模式】6.模板方法模式
    【Golang设计模式】5.原型模式
  • 原文地址:https://www.cnblogs.com/pingyeaa/p/12379911.html
Copyright © 2020-2023  润新知