一周Springboot+Vue入门(1)-- 什么是Springboot
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相关推荐
- SpringBoot+Vue入门
SpringBoot+Vue 1.SpringBoot快速上手 1.1SpringBoot介绍 Spring Boot是由Pivotal团队提供的基于Spring的全新框架,旨在简化Spring应用的 ...
- 一套前后端分离框架若依SpringBoot+Vue入门实战
一.介绍 RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot.Apache Shiro.MyBatis.Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力 ...
- 微服务和VUE入门教程(26): 微服务之turbine
微服务和VUE入门教程(26): 微服务之turbine 微服务和VUE入门教程(0): 着手搭建项目 微服务和VUE入门教程(1): 搭建前端登录界面 微服务和VUE入门教程(2): 注册中心 微服 ...
- 《SpringBoot+vue全栈开发实战项目》笔记
前言 Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能 ...
- SpringBoot+vue全栈开发实战笔记太香了
Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速 ...
- SpringBoot + Vue + nginx项目一起部署
SpringBoot + Vue + nginx项目一起部署 SpringBoot + Vue 一起部署到 nginx 1.后端项目部署: (1) Java项目打包上传到 服务器,开启服务 java ...
- SpringBoot+Vue+ElementUI实现后台管理系统
前言 今天学习了如何搭建一个后台管理系统,因此打算记录并总结一下今天的学习内容. 该项目是一个非常好用的后台管理系统模板,代码比较简单,项目功能比较通用,总之就是很推荐初学者学习. 项目的大体项目框架 ...
- springboot+vue+elementUI 高校学生实习管理管理系统 #毕业设计
学生顶岗实习管理系统是学校管理学生实习的重要组成.它是针对目前学生实习工作信息的情况设计的,力求满足学生工作多方面的需要.该系统的设计要充分考虑到学生实习管理工作和手段.目前,在网上和各种出售的光盘中 ...
- springboot+vue+elementUI 校园台球厅人员与设备管理系统#毕业设计
随着人们的生活水平的提高,人们的观念在发生着转变,健康已成为人们最关心的话题.要想健康,人们就需要在百忙之中寻求合理的休闲运动,而台球运动正是一项人们喜爱的体育运动. 现在人们的生活节奏快,需要一定的 ...
最新文章
- 比 GPT-3 更擅长理解用户意图,OpenAI发布 InstructGPT
- 未来3大趋势:人工智能 产业互联网 大数据与算法
- Java类类getClassLoader()方法及示例
- Git学习总结(12)——多人开发 Git 分支管理详解
- 电大c语言程序设计试卷号1075,《C语言程序设计方案》(2012.7)考试试题
- 3dmax Maxscript 回调脚本异常
- QT5+VS201: QTCharts:设置坐标轴间隔以及标注
- 第六章 平均绝对误差(MAE)与均方根误差(RMSE)
- 点击右键头换到下一张图片html,简单的实现点击箭头图片切换的js代码
- 台式机没声音怎么样才能解决
- 浅谈aps计划排程在3C行业解决方案
- 想了解真实的中国历史吗?建议看看这10部历史纪录片,受益终生!
- UG NX1980一键安装正式版+安装说明(安装简单)
- 对等网络(P2P)--网络大典
- Importerror: libgl.so.1: cannot open shared object file: no such file or directory
- 小论文撰写中常用单词的N种说法
- SwinNet: Swin Transformer drives edge-aware RGB-D and RGB-T salient object detection
- oracle 同义词 synonym 创建与删除表
- 自定义组件-behaviors
- 海思处理器sensor驱动调用过程与源码解析与实战
热门文章
- 安装好kali后必做的5件事
- 做什么事都要有风险意识
- cout的格式控制——关于cout.width()和cout.fill()
- 爱招飞软件开发工具与 Arduino 与 ESP32 的关系
- 操作系统原理——内存的分段、分页和平坦模型:区别与发展
- 集成公告|Anima协议上线Moonbeam
- Minimit Anima – 硬件加速的 CSS3 动画插件
- 新浪开放平台---oauth2认证流程 casperjs自动登录和授权 api需要注意的问题及bug
- uvalive 3523 Knights of the Round Table 圆桌骑士(强连通+二分图)
- 力扣 857. 雇佣 K 名工人的最低成本