1、什么是Springboot

回答这个问题,先看下面这段话 :

“为了在Java项目开发中提供一种更为简便的开发方式,来取代繁琐的项目搭建工作,Spring推出了Springboot项目。该项目可以让使用者更快速地搭建项目。系统配置、基础代码、项目依赖的jar包。只要在建立项目时,使用构建工具加入相应的Springboot依赖包,项目即可运行,无需关心版本兼容、部署war包等问题。”
      这段话可以这样理解,你层层过关,终于到了公务员的岗位,上班第一件事就是领导让你给他准备个讲话稿。这个任务实际上包括两个部分,一个是写讲话稿,一个是布置讲话稿使用的环境。你如果从一张白纸开始写,对于你这样的小白,那是会惹出大事的,比较好的方法,是从网上下载很多别人写好的文章段落,你整合一下。例如开头的经济形势段落,下一步的工作重点段落,最后的具体措施段落,什么抓住,压实等套话都是优质和现成的,啥都有,你做的就是把这些东西整合一下,再放上一些你们单位的实际情况和问题。只写出稿子还不行,你还要把稿子放到电脑上,给领导布置好,再放上一瓶矿泉水,等于稿子的领导讲话的环境也部署好了,领导来了直接念稿子就行了(相当于运行),是否会给领导一个意外的惊喜。体会一下整合的力量是否很大?环境部署是否很重要?

以往的Java项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题。另外Java编译后运行还是做很多的环境安装和配置,非常折磨人。SpringBoot是一个快速开发的框架,快速整合第三方框架(就是别人做好的功能组件,类似上面例子中你下载的别人写好的段落)。Springboot的整合集成了Maven,采用注解化,简化XML配置(这个下面讲)。内嵌HTTP服务器(Tomcat,jetty),默认嵌入Tomcat,最终以Java应用程序进行执行(就是Java代码编译完以后还集成进去运行环境,类似你把讲稿放到电脑上布置好,给讲稿一个会议能看的环境)。最终打包后以java应用程序就可以直接执行。这样就省去了Java程序开发前前后后的很多繁琐的事情,把你解放出来专心做你的应用。

看看下面这张图,能感受到Spring Boot帮我们做了很多Java开发的工作。

2、第一个Spring Boot 项目

让我么能从一个基本的Spring Boot框架项目开始,探究一下Spring Boot项目的神秘

打开Spring Boot 的初始案例网站 https://start.spring.io/

(Spring Boot的这个网站速度比较慢,建议大家采用阿里的

https://start.aliyun.com/点击上方的Java脚手架)

设置参数。这个解释一下几个选项。

Project 项目咱们选Maven,理由上面说了。

Language 语言选Java语言

Project Metadata 项目元数据的选项设置方法如下:

Group 是项目组织唯一标识,实际对应项目中的package包。

Artifact 是项目的唯一的标识符,实际对应项目的project name名称,Artifact不可包含大写字母。

这里解释一下这个设置什么意思。如果咱们有个作业网上提交系统,根据文件名字区分不同的作业。这里面有个问题,你只能保证你的几个作业的名称不相同,但是你不知道其他人是否也起相同的作业名字。如果老师最后把所有人的作业合并到一起,其他人作业名字跟你的一样,就可能把你的覆盖了。解决这个问题的方法,是把每个人的作业放到不同的目录下,例如你的作业放到一个所属组织的标识的多层目录下,例如放到中国.高校.耿丹学院.软件项目实践.张三的作业这样的目录下,这个我们叫Group,package就是表示作业所放的目录。这个目录下有每次的作业,每次作业我们叫Artifact,就是作业的名称。这样的结构,不管老师怎么合并,都不会出现不同的同学因为作业名称相同文件被覆盖的问题了。

Java Version 对于JDK选择8,项目打包方式Packaging 默认为jar包,就是上面说的,最终把Java语言和运行环境打成一个运行包的模式。

点击Generate就可以下载初始化的基本的Spring Boot框架了。

然后用Java的开发工具Idea打开这个项目。

选择Ieda的[文件]--[打开]--[项目],选择我们刚才下载下来的基本Spring Boot框架的目录,点击[确定]

Idea的右下角的状态显示进度条不停处理,标识Idea会帮我们下载一些依赖等,这些要花费一些时间,别着急,慢慢等待......,直到右下角的进度条不动了为止。

我们看一下Spring Boot项目的结构

3、依赖

在我们下载下来的目录中,有这么一个文件,叫pom.xml,是项目的依赖文件。是XML文件格式(是一种可扩展标记语言)。

我们先说一下XML文件格式。例如老师让每个人提交自己的个人信息,例如姓名,年龄,家庭情况。如果你打开word随便写,例如写张小力,23,张大力,李美丽,老师不知道这些信息哪些是你的名字,哪些是你父亲的名字等,如果老师规定,每个信息前后都要加一个标识,标识用“<信息名称>”开头,用“</信息名称>”结束,以免同信息混肴。所以就可以这样写

<姓名>张小力</姓名>

<年龄>23</年龄>

<家庭情况>

<父亲姓名>张大力</父亲姓名>

<母亲姓名>李美丽</母亲姓名>

</家庭情况>

这样是否就是清楚很多?XML所谓的标识语言就是这样的模式。这个概念将来我们修改pom文件的时候会用到。

下面我们说说依赖

pom.xml定义了项目的依赖。

什么叫依赖,例如你去打篮球,你肯定要带着篮球、水杯、毛巾等,你打羽毛球,你肯定要带着羽毛球拍、羽毛球,你打乒乓球,能要带乒乓球拍、乒乓球等,这些就是依赖,没有这些你空手去玩不了。你可能说我每次出去锻炼就都带上,话是没错,就是没人这样做。所以每次你要去拿这些“依赖”,放到包里面带着,非常麻烦。

后来有一次你偶尔发现,你养的小狗非常聪明,你只要在一张纸上画上你要带的东西,这个小狗就自动跑去帮你叼来,放到包里面,不用你去跑去拿了,是不是很惊喜。

Idea就帮我们做下载和装配的工作,只要我们在pom.xml文件中把需要的依赖写好,自动就帮我们去下载,并安排好。

起步依赖

正如我们出去活动,第一个要需要一个运动包作为依赖,没有包什么也放不了,后续所有的东西都要根据包的大小来确定。

在Spring Boot项目中,必须继承依赖spring-boot-starter-parent,叫起步依赖,从这个继承依赖开始。

其他就是我们刚才定义的group,artifact,version版本,name项目名称,descriptionp项目描述等。

依赖的包就在

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>.................
</dependencies>

中定义。下面这样

4、Spring Boot 代码分析

我们看一下生成的代码,大概了解一下Spring Boot代码的结构。

src这个目录是java的源代码的目录,我们看到,生成的代码放到了这个src目录下的cn目录的edu目录的gengdan目录的demo1目录下了,直面只有一个主文件,是Demo1Application.java源代码文件。里面有我们的入口main函数启动,执行Demo1Application中的类。

@SpringBootApplication是Sprnig Boot项目的核心注解,标识开启自动配置。

现在我们运行一下,在Demo1Application主文件右键,选择运行Demo1Application,或者右上角的运行快捷键,都可以让我们启动Demo1Application的执行。

在Idea的下方,可以看到运行的结果

因为我们是基本的框架,什么也没有输出,所示提示启动项目后,进程正常结束了。上面有个图标,可以自己在resources目录下增加一个banner.txt文件进行修改。

5、第一个显示程序 -- Hello World

程序员的第一个程序总是从“Hello World!”开始。现在让我们在控制台上让程序输出“Hello World!” 。在Demo1Application主函数中增加 控制台输出语句

System.out.println("Hello World!");

然后再次运行

看到控制台上输出了“Hello World!”了。这个

System.out.println("显示内容");

后续我们在调试程序和控制台显示提示等场合会经常用到。

6、第一个网页显示程序 -- 网页版 Hello World

现在我们要实现在网页上显示Hello World。我们需要添加web依赖。

打开pom.xml依赖文件,添加web依赖。

要想依赖生效,还要重新让Maven重新下载一下新的依赖,具体方法是点击右侧的Maven,然后点一下这个重新下载依赖的标记,让Maven重新检查依赖,并下载新添加的依赖

然后,我们在src的包目录中,增加一个Controller包

名称叫Controller,就是控制器。控制器这个名称起的有点专业,就是类似咱们学生服务中心的对外服务窗口,其他都不对外,免得进入陌生人到里面不安全。Web程序的所有外界的访问都通过这个Controller来进来和应答,这样代码的其他部分都不对外了。

然后在这个软件包下增加一个java类,叫

HelloWorldController

在里面添加代码

import是引用web依赖,让下面的代码来用。

@Controller注解表示这个类可以接收HTTP请求(就是来自网页地址的请求)。

@RequestMapping注解作用是映射网页请求的URL路径,例如上面的代码,要用http://主机地址/hello这样的路径来访问。

@GetMapping表明是Get查询(还有Post查询等方式)

下面的return表示如果浏览器以get方式访问这个主机的/hello这个目录,就返回“hello world”字符串给浏览器。

我们再次运行这个程序,

可以看到,web服务器tomcat已经运行在本地的8080端口了,在等待网页的请求。

我们打开浏览器,地址栏输入

http://localhost:8080/hello/

注意,localhost表示本地主机,也可以用127.0.0.1代替,都是表示你现在的本地主机,不管你的真实IP地址是多少。另外注意,端口是8080,所以在本地主机后面要加冒号(注意是英文冒号:,不能是中文冒号:,中文冒号后面有点空,特别注意)。

然后在浏览器中,我们就看到我们的“hello world”了。

这个例子,让我们感受了依赖的强大。一个啥也干不了的空的基本框架,就是我们在pom.xml添加了一个web依赖,就能处理复杂的WEB请求了,真是amazing!

到此,我们今天学习了Spring Boot的大概的结构,并运行了我们的第一个Spring Boot 程序Hello Word!。

内容有点多,有点长,如果你能坚持看完,那为你的耐心点赞,也帮我在这篇文章上点个赞.

Idea Java开发环境,可以自行去网上搜索,建议安装绿色版,可以省去很多麻烦。

本课程的代码,可以从gitee上下载。

OneWeek: 一周Spring Boot +Vue 入门demo代码

访问gitee的同时也麻烦顺手在gitee上这个仓库上帮我点一下赞

感谢感谢!

Gitee的使用

gitee是大名鼎鼎的github的国内的代码托管网站,是企业常用的开发代码管理平台,大家逐渐学习使用。现在把最简单的上传功能说明一下,希望大家熟悉更加复杂的功能。

咱们要求把完成的项目和运行截图放到gitee上,简要说明如下:

https://gitee.com/

打开gitee,

注册后登陆

点击这个创建仓库

然后填写相关信息

需要设置成开源,但是这里不能直接设置,需要创建后通过仓库设置修改成公开

然后就进入到创建好的仓库

点最前面的你的用户名,可以看到你创建的所有的仓库,点击这个Spring Boot 入门案例,可以看到这个仓库的管理页面。文件这里可以创建文件夹和上传文件,克隆下载这里可以下载文件。管理这里可以对仓库进行管理。

我们先通过管理这个把仓库修改成开源

修改仓库属性,由默认的私有修改为开源,选中下面的承诺,然后保存,如果提示保存成功,并且属性是开源,就OK了。

然后返回你创建的仓库,点击README.md,点击编辑

通过微信获取其他工具截屏,然后粘贴到编辑器里面,注意需要修改一下图片的名字,否则相互覆盖了,下面这样

然后依次把结果粘贴上,就成了这样的

然后提交,你的仓库的首页就成了这样的了。

https://gitee.com/W2970/Sprint-Boot-demo/blob/master/README.md

然后再通过文件创建一个文件夹

然后进入创建的文件夹demo

选择上传文件,就可以把压缩的文件或者源代码上传上去了。

我做的比较粗糙,更加精细的,可以参考

https://gitee.com/y_project/RuoYi-Vue

更多gitee的进一步的操作,可以百度gitee的基本操作,推荐使用git工具操作gitee,更加专业。

可以参考这个博客

gitee:使用教程 - ShineLe - 博客园

一周Springboot+Vue入门(1)-- 什么是Springboot相关推荐

  1. SpringBoot+Vue入门

    SpringBoot+Vue 1.SpringBoot快速上手 1.1SpringBoot介绍 Spring Boot是由Pivotal团队提供的基于Spring的全新框架,旨在简化Spring应用的 ...

  2. 一套前后端分离框架若依SpringBoot+Vue入门实战

    一.介绍 RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot.Apache Shiro.MyBatis.Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力 ...

  3. 微服务和VUE入门教程(26): 微服务之turbine

    微服务和VUE入门教程(26): 微服务之turbine 微服务和VUE入门教程(0): 着手搭建项目 微服务和VUE入门教程(1): 搭建前端登录界面 微服务和VUE入门教程(2): 注册中心 微服 ...

  4. 《SpringBoot+vue全栈开发实战项目》笔记

    前言 Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能 ...

  5. SpringBoot+vue全栈开发实战笔记太香了

    Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速 ...

  6. SpringBoot + Vue + nginx项目一起部署

    SpringBoot + Vue + nginx项目一起部署 SpringBoot + Vue 一起部署到 nginx 1.后端项目部署: (1)  Java项目打包上传到 服务器,开启服务 java ...

  7. SpringBoot+Vue+ElementUI实现后台管理系统

    前言 今天学习了如何搭建一个后台管理系统,因此打算记录并总结一下今天的学习内容. 该项目是一个非常好用的后台管理系统模板,代码比较简单,项目功能比较通用,总之就是很推荐初学者学习. 项目的大体项目框架 ...

  8. springboot+vue+elementUI 高校学生实习管理管理系统 #毕业设计

    学生顶岗实习管理系统是学校管理学生实习的重要组成.它是针对目前学生实习工作信息的情况设计的,力求满足学生工作多方面的需要.该系统的设计要充分考虑到学生实习管理工作和手段.目前,在网上和各种出售的光盘中 ...

  9. springboot+vue+elementUI 校园台球厅人员与设备管理系统#毕业设计

    随着人们的生活水平的提高,人们的观念在发生着转变,健康已成为人们最关心的话题.要想健康,人们就需要在百忙之中寻求合理的休闲运动,而台球运动正是一项人们喜爱的体育运动. 现在人们的生活节奏快,需要一定的 ...

最新文章

  1. 比 GPT-3 更擅长理解用户意图,OpenAI发布 InstructGPT
  2. 未来3大趋势:人工智能 产业互联网 大数据与算法
  3. Java类类getClassLoader()方法及示例
  4. Git学习总结(12)——多人开发 Git 分支管理详解
  5. 电大c语言程序设计试卷号1075,《C语言程序设计方案》(2012.7)考试试题
  6. 3dmax Maxscript 回调脚本异常
  7. QT5+VS201: QTCharts:设置坐标轴间隔以及标注
  8. 第六章 平均绝对误差(MAE)与均方根误差(RMSE)
  9. 点击右键头换到下一张图片html,简单的实现点击箭头图片切换的js代码
  10. 台式机没声音怎么样才能解决
  11. 浅谈aps计划排程在3C行业解决方案
  12. 想了解真实的中国历史吗?建议看看这10部历史纪录片,受益终生!
  13. UG NX1980一键安装正式版+安装说明(安装简单)
  14. 对等网络(P2P)--网络大典
  15. Importerror: libgl.so.1: cannot open shared object file: no such file or directory
  16. 小论文撰写中常用单词的N种说法
  17. SwinNet: Swin Transformer drives edge-aware RGB-D and RGB-T salient object detection
  18. oracle 同义词 synonym 创建与删除表
  19. 自定义组件-behaviors
  20. 海思处理器sensor驱动调用过程与源码解析与实战

热门文章

  1. 安装好kali后必做的5件事
  2. 做什么事都要有风险意识
  3. cout的格式控制——关于cout.width()和cout.fill()
  4. 爱招飞软件开发工具与 Arduino 与 ESP32 的关系
  5. 操作系统原理——内存的分段、分页和平坦模型:区别与发展
  6. 集成公告|Anima协议上线Moonbeam
  7. Minimit Anima – 硬件加速的 CSS3 动画插件
  8. 新浪开放平台---oauth2认证流程 casperjs自动登录和授权 api需要注意的问题及bug
  9. uvalive 3523 Knights of the Round Table 圆桌骑士(强连通+二分图)
  10. 力扣 857. 雇佣 K 名工人的最低成本