SpringBoot2-简介及搭建

一、简介

Spring:

​ EJB使用复杂,Spring是一个轻量级框架

​ Spring使用以及整合其他框架的时候,配置越来越多

SpringBoot:(你写的越少,底层就越复杂)

​ 简化Spring开发,底层就是Spring

约定大于配置,底层有自动配置

你只需要会一个接口即可,底层SpringBoot都帮你对接好了

image-20201007191220060

官方更新的很快,我们用正式版2.2.10(2020年初的版本)

image-20201007191715060

我们建的时候只能用服务器最新的版本,进去再改成老版本

二、开发工具

eclipse:没有SpringBoot的创建向导模板

​ 创建普通Maven项目,安装SpringBoot的依赖关系,写pom文件

​ 使用向导模板,安装sts插件

STS:Spring官网推荐使用(因为是免费的)

​ 集成了sts插件的eclipse

2.1 绿色安装

解压这个目录即可

image-20201007195712433

2.2 配置(跟eclipse一样的)

2.2.1 编码

image-20201007200245141

2.2.2 jre:配置成JDK路径

image-20201007200316012

2.2.3 编译级别:1.8

image-20201007200433041

2.2.4 Maven

image-20201007200550428

image-20201007200624145

image-20201007200658457

2.2.5 Tomcat:以后都不会用tomcat了

image-20201007200837280

2.2.6 jsp编码格式:以后也不会用jsp了

image-20201007201022442

2.2.7 properties编码格式

image-20201008132224114

或者右键properties,other—UTF-8

image-20201008132743130

image-20201008132806338

2.2.8 controller,把这个√删掉,否则打controller没有提示

image-20201007222910429

三、入门项目(官方模板)

3.1 创建一个新项目

eclipse里面就是没有这个插件

image-20201007201543744

SpringBoot的Web项目可以创建成jar包,打包以后会内置Tomcat,所以我们习惯打成jar包,不打war包了

image-20201007212041798

3.2 场景启动器

  • 我们建的时候只能用服务器最新的版本,进去再改成老版本

  • 场景启动器封装了各种场景中国需要使用的jar包依赖,要使用哪种场景开发,只需要引入对应的场景启动器,这个场景中的所有jar包和该场景中常用的配置都会自动导入

image-20201007212704732

项目建出来会报错,添加一个插件;到idea里就没这个问题了,或者换一个版本也没个问题了

<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>

配完alt+f5刷新一下项目就没有x了

image-20201007213609852

前面加的spring web场景启动器

image-20201007214317827

于是web这些jar包就都有了

image-20201007214436271

3.3 修改版本

建的时候只能用服务器最新的版本,进来再改,对应jar包版本都跟着修改

现在是2.2.10

image-20201007215027209

我们改成2.2.2,保存后jar包版本就都跟着改了

image-20201007215230115

3.4 打代码

3.4.1 自定义的类

必须在主方法所在的包及其子包下,不用再配置包扫描,都可以扫的到

image-20201007224103799

3.4.2 写controller

用ajax

image-20201007224633339

3.4.3 启动

主类启动,两个是一样的,下面的带点颜色

image-20201007224750682

有内置的tomcat

image-20201007225039114

3.4.5 测试不用打项目名,直接打/

image-20201007224945807

3.4.6 路径

路径不用再特意配置.do,配置什么都可以

image-20201007225829036

改了代码后要先把之前运行的程序关掉,否则会报错

image-20201007232122534

image-20201007225814214

3.4.7 想换个端口号,加个项目路径

默认是8080和/

image-20201007230122303

image-20201007230244283

3.5 打包部署

启动运行(不用再放到tomcat下面了,启动运行即可)

java -jar xxx.jar
//再开一个端口运行,注意是--
java -jar xxx.jar --server.port=8081

打包到target下面

image-20201007231107599

放到D盘下用dos窗口运行

image-20201007231335148

image-20201007231435804

image-20201007231421298

再开一个端口8081,注意是–

image-20201007232535838

image-20201007232516910

3.6 打的包结构

同级

image-20201007232841466

jar包

image-20201007232958660

其实编码阶段的代码很小,引用的都是仓库里的jar包;打包后jar包都在打的包里面,主要是打包后的jar包比较大

打包后的大小

image-20201007233258282

clean后的大小

image-20201007233411803

不需要放到tomcat下运行,它会把内置的tomcat打进去

image-20201007233604602

3.7 热部署

加个依赖,managed为受当前版本管理的,就选这个版本

image-20201007233959376

springboot的热部署,改了代码只要一保存就会重启

image-20201007234047602

3.8 集群(负载均衡)

上面打包后,运行的时候加端口是一种方法;可现在不想打包,就在这个环境中实现负载均衡,也能实现

3.8.1 手动部署

先把热部署注释掉

给项目起个名字区分一下,加个-8080

image-20201007234814952

image-20201007234913330

用变量的方式用$引用

image-20201007235201358

运行开启一个,改成8081再开启一个

image-20201007235357486

image-20201007235435016

image-20201007235345870

3.8.2 启两次

拿到配置文件中server.port的值赋给port

image-20201008001151146

启动8080端口,改成8081再启动一次就启动了两个服务器

image-20201008001337862

这样不好区分,都是一个名字,所以用下面方法

3.8.3 最终方法

用变量代替,为了去改启动配置

image-20201008001531898

在启动配置中复制一份

image-20201008001827521

改个名字,加启动参数:端口为8081,这样启动的就是8081端口;配置文件是默认8080,所以8080的可以不写(写上也可以,就是-Dport=8080)

image-20201008002010560

这样就有两个启动项了,看起来更直观

image-20201008002212187

image-20201008002158771

四、入门项目(阿里模板)

image-20201008003216710

阿里云的版本没有那么新

image-20201008003310269

建好后没有报错,目录都一样,它的服务器编码,不用可以删掉

image-20201008003431002

有一点不同,它没有父项目

image-20201008003635911

他把继承的最终的springboot依赖过来了;官方的是先继承一个parent,parent又继承自这个最终的

image-20201008003719500

我们一般用官方的

有些团队做分布式项目喜欢用阿里的模板,自己是父项目,就不想再继承别人,让别人都是我的模块;单体项目就用官方的;代码都是一样的,没区别。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值