阅读 58

初识SpringBoot--入门SpringBoot

一、开发环境和工具

工欲善其事必先利其器,好的工具能事半功倍。

1.1 开发环境

虽然现在Java JDK版本已经到16了,但是JDK8依然是使用最多的,最稳定的且长期维护的版本,建议使用JDK8。

JDK8下载链接 www.oracle.com/java/techno… (需要注册Oracle账号才能下载。)

Java JDK环境变量配置建议在网上搜一下,也很简单。

1.2 开发工具

强烈建议使用IDEA,比Eclipse好用很多。如果是Eclipse过来的可能刚开始不适应,但是经过几天的磨合你会喜欢上它的。

IntelliJ IDEA 下载链接 www.jetbrains.com/idea/

1.3 接口调试工具

接口调试工具用Postman,也是毋庸置疑的。

Postman 下载链接 www.postman.com/downloads/

二、创建项目

用IDEA创建SpringBoot项目

打开IDEA,点击创建新的项目
1.png

创建Spring项目,如果默认的url太慢,可以用阿里云的 start.aliyun.com 2.png

填写工程信息
Group:一般是公司域名反过来,Artifact:项目名称 Type: Maven 然后Java版本为8, 3.png

这一步主要注意一下SpringBoot的版本,然后点击下一步即可

4.png

创建项目成功 5.png

三、修改配置,运行项目

删除src目录下的test目录,这个是测试用的,暂且删除。

3.1 pom.xml

pom.xml文件在项目根目录下,Maven项目的包依赖管理文件,项目需要哪些Jar包直接在这里配置就行。 6.png

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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.llh</groupId>
    <artifactId>spring-boot-demo1</artifactId>
    <version>1.0.0</version>
    <name>spring-boot-demo1</name>
    <description>初识springboot</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>${spring-boot.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${spring-boot.version}</version>
        </dependency>

    </dependencies>

</project>

复制代码

3.2 项目配置文件 application.properties

废话:SpringBoot好用就在于“约定大于配置”,但还是需要配置,其实就是按照它规定好的来配置,大家约定俗成

application.properties 如下,主要就是加了端口号8080,不加默认也是8080 7.png

spring.application.name=spring-boot-demo1
server.port=8080
复制代码

3.3 运行项目

8.png

四、编写接口

4.1 get请求

get请求有两种传参方式

    /**
     * get请求 http://localhost:8080/test1/admin
     * 带参数 插值的方式
     */
    @GetMapping("/test1/{name}")
    public String test1(@PathVariable("name") String name) {
        return name;
    }

    /**
     * get请求 http://localhost:8080/test2?name=admin
     * 带参数 传统方式
     */
    @GetMapping("/test2")
    public String test2(@RequestParam("name") String name) {
        return name;
    }
复制代码

4.2 post请求

post请求直接写一个类对象作为接收对象

    /**
     * post请求 localhost:8080/test3
     * 参数为Json格式
     * {
     *     "username":"admin",
     *     "password":"123456"
     * }
     */
    @PostMapping("/test3")
    public String test3(@RequestBody UserInfo userInfo) {
        return userInfo.toString();
    }
复制代码

是不是很简单

9.png

HelloController类

package com.llh.springbootdemo1.controller;

import org.springframework.web.bind.annotation.*;

@RestController
public class HelloController {

    /**
     * get请求 http://localhost:8080/test0
     * 不带参数
     */
    @GetMapping("/test0")
    public String test0() {
        return "hello world";
    }

    /**
     * get请求 http://localhost:8080/test1/admin
     * 带参数 插值的方式
     */
    @GetMapping("/test1/{name}")
    public String test1(@PathVariable("name") String name) {
        return name;
    }

    /**
     * get请求 http://localhost:8080/test2?name=admin
     * 带参数 传统方式
     */
    @GetMapping("/test2")
    public String test2(@RequestParam("name") String name) {
        return name;
    }

    /**
     * post请求 localhost:8080/test3
     * 参数为Json格式
     * {
     *     "username":"admin",
     *     "password":"123456"
     * }
     */
    @PostMapping("/test3")
    public String test3(@RequestBody UserInfo userInfo) {
        return userInfo.toString();
    }
}


复制代码

UserInfo类

package com.llh.springbootdemo1.controller;

public class UserInfo {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

复制代码

4.3 测试接口

get请求可以直接在浏览器输入网址

10.png

post请求需要通过Postman工具,注意接口方式改为post,传入参数改为JOSN格式 11.png

五、结语

有三四年没有写博客了,一是因为没有时间,二是比较懒,三是当时能力不行。现在要重新写会博客,写博客一方面能分享技术,一方面自己也能有所提高。

这是第一篇博客,是SpringBoot最入门简单的博客,随后我们将进入SpringBoot的持久化框架 Mybatis,Mybatis-Plus,关系型数据库Mysql,内存数据库Redis、JWT等单体应用技术。 然后我们将学习Spring-Cloud-Alibaba微服务体系,包括服务注册中心和配置中心Nacos、服务调用OpenFeign、网关Gateway、限流降级Sentinel、消息队列RocketMQ、分布式事务Seata、分布式锁Redisson、分布式任务调度xxl-job等技术。同时我还将分享Nginx、Tomcat、Docker、Linux等技术。

并且我将写一些Vue、ElementUI、AntdDesign等前端技术以及Flutter等文章,文章希望先以使用为主,然后再说一些理论知识。

因为我个人的想法就是如果您是应用开发,一定要全栈。我个人的规划也是这样的,就是做个全栈工程师。之前很难做全栈,但是有了SpringBoot、有了Vue、有了Flutter这些好的框架工具。做全栈工程师是可以实现的。

最后的体系就是

后端:Spring-Boot Spring-Cloud-alibaba体系
网页端:Vue体系
APP端:Flutter体系

希望自己在写博客的这条路上能坚持!

同步微信公众号:小虎哥的技术博客
wx_qrcode_1.jpg

文章分类
后端
文章标签