首页 > 其他分享 >SpringBoot01 - 入门案例

SpringBoot01 - 入门案例

时间:2023-02-20 23:00:30浏览次数:40  
标签:web 入门 spring SpringBoot01 boot 案例 Spring starter SpringBoot

1.SpringBoot入门程序制作(一)

​ 下面让我们开始做第一个SpringBoot程序吧,本课程基于Idea2020.3版本制作,使用的Maven版本为3.6.1,JDK版本为1.8。如果你的环境和上述环境不同,可能在操作界面和操作过程中略有不同,只要软件匹配兼容即可(说到这个Idea和Maven,它们两个还真不是什么版本都能搭到一起的,说多了都是泪啊)。

​ 下面使用SpringBoot技术快速构建一个SpringMVC的程序,通过这个过程体会简化二字的含义

步骤①:创建新模块,选择Spring Initializr,并配置模块相关基础信息

特别关注:第3步点击Next时,Idea需要联网状态才可以进入到后面那一页,如果不能正常联网,就无法正确到达右面那个设置页了,会一直联网转转转

特别关注:第5步选择java版本和你计算机上安装的JDK版本匹配即可,但是最低要求为JDK8或以上版本,推荐使用8或11

步骤②:选择当前模块需要使用的技术集

​ 按照要求,左侧选择web,然后在中间选择Spring Web即可,选完右侧就出现了新的内容项,这就表示勾选成功了

关注:此处选择的SpringBoot的版本使用默认的就可以了,需要说一点,SpringBoot的版本升级速度很快,可能昨天创建工程的时候默认版本是2.5.4,今天再创建工程默认版本就变成2.5.5了,差别不大,无需过于纠结,回头可以到配置文件中修改对应的版本

步骤③:开发控制器类

//Rest模式
@RestController
@RequestMapping("/books")
public class BookController {
    @GetMapping
    public String getById(){
        System.out.println("springboot is running...");
        return "springboot is running...";
    }
}

​ 入门案例制作的SpringMVC的控制器基于Rest风格开发,当然此处使用原始格式制作SpringMVC的程序也是没有问题的,上例中的@RestController与@GetMapping注解是基于Restful开发的典型注解

关注:做到这里SpringBoot程序的最基础的开发已经做完了,现在就可以正常的运行Spring程序了。可能有些小伙伴会有疑惑,Tomcat服务器没有配置,=-Spring也没有配置,什么都没有配置这就能用吗?这就是SpringBoot技术的强大之处。关于内部工作流程后面再说,先专心学习开发过程

步骤④:运行自动生成的Application类

​ 使用带main方法的java程序的运行形式来运行程序,运行完毕后,控制台输出上述信息。

​ 不难看出,运行的信息中包含了8080的端口,Tomcat这种熟悉的字样,难道这里启动了Tomcat服务器?是的,这里已经启动了。那服务器没有配置,哪里来的呢?后面再说。现在你就可以通过浏览器访问请求的路径,测试功能是否工作正常了

访问路径:	http://localhost:8080/books

​ 是不是感觉很神奇?目前的效果其实依赖的底层逻辑还是很复杂的,但是从开发者角度来看,目前只有两个文件展现到了开发者面前

  • pom.xml

    ​ 这是maven的配置文件,描述了当前工程构建时相应的配置信息

    <?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>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.5.4</version>
        </parent>
    
        <groupId>com.itheima</groupId>
        <artifactId>springboot_01_01_quickstart</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>
    

    配置中有两个信息需要关注,一个是parent,也就是当前工程继承了另外一个工程,干什么用的后面再说,还有依赖坐标,干什么用的后面再说

  • Application类

    @SpringBootApplication
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    

    ​ 这个类功能很简单,就一句代码,前面运行程序就是运行的这个类

​ 到这里我们可以大胆推测一下,如果上面这两个文件没有的话,SpringBoot肯定没法玩,看来核心就是这两个文件了。由于是制作第一个SpringBoot程序,先不要关注这两个文件的功能,后面详细讲解内部工作流程。

​ 通过上面的制作,我们不难发现,SpringBoot程序简直太好写了,几乎什么都没写,功能就有了,这也是SpringBoot技术为什么现在这么火的原因,和Spirng程序相比,SpringBoot程序在开发的过程中各个层面均具有优势

类配置文件 Spring SpringBoot
pom文件中的坐标 手工添加 勾选添加
web3.0配置类 手工制作
Spring/SpringMVC配置类 手工制作
控制器 手工制作 手工制作

​ 一句话总结一下就是能少写就少写能不写就不写,这就是SpringBoot技术给我们带来的好处,行了,现在你就可以动手做一做SpringBoot程序了,看看效果如何,是否真的帮助你简化开发了

总结

  1. 开发SpringBoot程序可以根据向导进行联网快速制作
  2. SpringBoot程序需要基于JDK8以上版本进行制作
  3. SpringBoot程序中需要使用何种功能通过勾选选择技术,也可以手工添加对应的要使用的技术(后期讲解)
  4. 运行SpringBoot程序通过运行Application程序入口进行

思考

​ 前面制作的时候说过,这个过程必须联网才可以进行,但是有些时候你会遇到一些莫名其妙的问题,比如基于Idea开发时,你会发现你配置了一些坐标,然后Maven下载对应东西的时候死慢死慢的,甚至还会失败。其实这和Idea这款IDE工具有关,万一Idea不能正常访问网络的话,我们是不是就无法制作SpringBoot程序了呢?咱们下一节再说

2.SpringBoot入门程序制作(二)

​ 如果Idea不能正常联网,这个SpringBoot程序就无法制作了吗?开什么玩笑,世上IDE工具千千万,难道SpringBoot技术还必须基于Idea来做了?这是不可能的。开发SpringBoot程序,可以不基于任意的IDE工具进行,其实在SpringBoot的官网里面就可以直接创建SpringBoot程序

​ SpringBoot官网和Spring的官网是在一起的,都是 spring.io 。你可以通过项目一级一级的找到SpringBoot技术的介绍页,然后在页面中间部位找到如下内容

步骤①:点击Spring Initializr后进入到创建SpringBoot程序的界面上,下面是输入信息的过程,和前面的一样,只是界面变了而已,根据自己的要求,在左侧选择对应信息和输入对应的信息即可

步骤②:右侧的ADD DEPENDENCIES用于选择使用何种技术,和之前勾选的Spring WEB是在做同一件事,仅仅是界面不同而已,点击后打开网页版的技术选择界面

步骤③:所有信息设置完毕后,点击下面左侧按钮,生成一个文件包

步骤④:保存后得到一个压缩文件,这个文件打开后就是创建的SpringBoot工程文件夹了

步骤⑤:解压缩此文件后,得到工程目录,在Idea中导入即可使用,和之前创建的东西完全一样。下面就可以自己创建一个Controller测试一下是否能用了。

温馨提示

​ 做到这里其实可以透漏一个小秘密,Idea工具中创建SpringBoot工程其实连接的就是SpringBoot的官网,走的就是这个过程,只不过Idea把界面给整合了一下,读取到了Spring官网给的信息,然后展示到了Idea的界面中而已,不信你可以看看下面这个步骤

​ 上面描述了连接的网址,再看看SpringBoot官网创建工程的URL地址,是不是一样?

总结

  1. 打开SpringBoot官网,选择Quickstart Your Project

    image-20211122150444816
  2. 创建工程

    image-20211122150608039

    并保存项目

  3. 解压项目,通过IDE导入项目

思考

​ 现在创建工程靠的是访问国外的Spring主站,但是互联网访问是可以控制的,如果一天这个网站你在国内都无法访问了,那前面这两种方式都无法创建SpringBoot工程了,这时候又该怎么解决这个问题呢?咱们下一节再说

3.SpringBoot入门程序制作(三)

​ 前面提到网站如果被限制访问了,该怎么办?开动脑筋想一想,不管是方式一还是方式二其实都是走的同一个地方,也就是SpringBoot的官网创建的SpringBoot工程,那如果我们国内有这么一个网站能提供这样的功能,是不是就解决了呢?必然的嘛,新的问题又来了,这个国内的网站有吗?还真有,阿里提供了一个,下面问题就简单了,网址告诉我们就OK了,没错,就是这样

​ 创建工程时,切换选择starter服务路径,然后手工收入阿里云提供给我们的使用地址即可。地址:http://start.aliyun.com或https

标签:web,入门,spring,SpringBoot01,boot,案例,Spring,starter,SpringBoot
From: https://www.cnblogs.com/Ashen-/p/17139330.html

相关文章

  • 用python实现数据处理,绘图的综合案例
    首先创建一个类classRecord:def__init__(self,date,order_id,money,province):self.date=date#订单日期self.order_id=order_id#订......
  • 线性变换入门:线性基
    本文介绍\(\rmOI\)中常见两种线性基:异或线性基和实数线性基。前置知识:线性空间先给出群的定义(\(\text{fromOI-wiki}\)):当一个集合关于某种运算封闭,满足结合律、单位......
  • Solidity极简入门#19. 接收ETH
    Solidity支持两种特殊的回调函数,receive()和fallback(),他们主要在两种情况下被使用:接收ETH处理合约中不存在的函数调用(代理合约proxycontract)注意⚠️:在solidity0.6.x版本之......
  • zookeeper的入门
    zookeeper是一个分布式服务框架,是ApacheHadoop的一个子项目,它主要是来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务,状态同步服务,集群管理,分布式应用配置......
  • Elasticsearch入门学习
    倒排索引所谓的倒排索引,就是把你的数据内容先分词,每句话分成一个一个的关键词,然后记录好每个关键词对应出现在了那些id标识的数据里.那么你要搜索包含关键词的帖子,......
  • 汽车行业Y公司对接马勒EDI项目案例
    马勒集团作为活塞系统、气缸零部件、气门驱动系统、气体管理系统和液体管理系统的三大供应商之一,为全球所有的汽车制造商提供门类齐全的高质量产品。近期知行软件帮助汽车......
  • 《黑马旅游网》综合案例注册功能后台
    Servlet代码实现UserDao:publicinterfaceUserDao{/***根据用户名查询用户信息*@paramusername*@return*/publicUserfindBy......
  • Neo4j入门
    1、图数据库Neo4j简介1.1什么是图数据库图数据库:是基于图论实现的一种NoSQL数据库,其数据结构是和查询方式是以图论为基础的,图数据库主要用于存储更多的连接数据。图论......
  • Power Automate入门1 - 云端流
     一、不同类型流的概述PowerAutomate是一项服务,可用于自动执行重复性任务以提高所有组织的效率。您可以创建云端流、桌面流或业务流程流。云端流当您希望自动、即......
  • Filter_案例1_登录验证_代码实现与Filter_案例2_过滤敏感词汇_分析
    Filter_案例1_登录验证_代码实现     重新打开一个新导航栏:     切换一个浏览器再打开:   packagehf.xueqiang.web.filter;importj......