SpringBoot2-简介及搭建

    科技2025-02-16  14

    一、简介

    Spring:

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

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

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

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

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

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

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

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

    二、开发工具

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

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

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

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

    ​ 集成了sts插件的eclipse

    2.1 绿色安装

    解压这个目录即可

    2.2 配置(跟eclipse一样的)

    2.2.1 编码

    2.2.2 jre:配置成JDK路径

    2.2.3 编译级别:1.8

    2.2.4 Maven

    2.2.5 Tomcat:以后都不会用tomcat了

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

    2.2.7 properties编码格式

    或者右键properties,other—UTF-8

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

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

    3.1 创建一个新项目

    eclipse里面就是没有这个插件

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

    3.2 场景启动器

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

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

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

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

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

    前面加的spring web场景启动器

    于是web这些jar包就都有了

    3.3 修改版本

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

    现在是2.2.10

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

    3.4 打代码

    3.4.1 自定义的类

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

    3.4.2 写controller

    用ajax

    3.4.3 启动

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

    有内置的tomcat

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

    3.4.6 路径

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

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

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

    默认是8080和/

    3.5 打包部署

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

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

    打包到target下面

    放到D盘下用dos窗口运行

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

    3.6 打的包结构

    同级

    jar包

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

    打包后的大小

    clean后的大小

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

    3.7 热部署

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

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

    3.8 集群(负载均衡)

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

    3.8.1 手动部署

    先把热部署注释掉

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

    用变量的方式用$引用

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

    3.8.2 启两次

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

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

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

    3.8.3 最终方法

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

    在启动配置中复制一份

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

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

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

    阿里云的版本没有那么新

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

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

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

    我们一般用官方的

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

    Processed: 0.018, SQL: 8