Spring:
EJB使用复杂,Spring是一个轻量级框架
Spring使用以及整合其他框架的时候,配置越来越多
SpringBoot:(你写的越少,底层就越复杂)
简化Spring开发,底层就是Spring
约定大于配置,底层有自动配置
你只需要会一个接口即可,底层SpringBoot都帮你对接好了
官方更新的很快,我们用正式版2.2.10(2020年初的版本)
我们建的时候只能用服务器最新的版本,进去再改成老版本
eclipse:没有SpringBoot的创建向导模板
创建普通Maven项目,安装SpringBoot的依赖关系,写pom文件
使用向导模板,安装sts插件
STS:Spring官网推荐使用(因为是免费的)
集成了sts插件的eclipse
解压这个目录即可
或者右键properties,other—UTF-8
eclipse里面就是没有这个插件
SpringBoot的Web项目可以创建成jar包,打包以后会内置Tomcat,所以我们习惯打成jar包,不打war包了
我们建的时候只能用服务器最新的版本,进去再改成老版本
场景启动器封装了各种场景中国需要使用的jar包依赖,要使用哪种场景开发,只需要引入对应的场景启动器,这个场景中的所有jar包和该场景中常用的配置都会自动导入
项目建出来会报错,添加一个插件;到idea里就没这个问题了,或者换一个版本也没个问题了
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>配完alt+f5刷新一下项目就没有x了
前面加的spring web场景启动器
于是web这些jar包就都有了
建的时候只能用服务器最新的版本,进来再改,对应jar包版本都跟着修改
现在是2.2.10
我们改成2.2.2,保存后jar包版本就都跟着改了
必须在主方法所在的包及其子包下,不用再配置包扫描,都可以扫的到
用ajax
主类启动,两个是一样的,下面的带点颜色
有内置的tomcat
路径不用再特意配置.do,配置什么都可以
改了代码后要先把之前运行的程序关掉,否则会报错
默认是8080和/
启动运行(不用再放到tomcat下面了,启动运行即可)
java -jar xxx.jar //再开一个端口运行,注意是-- java -jar xxx.jar --server.port=8081打包到target下面
放到D盘下用dos窗口运行
再开一个端口8081,注意是–
同级
jar包
其实编码阶段的代码很小,引用的都是仓库里的jar包;打包后jar包都在打的包里面,主要是打包后的jar包比较大
打包后的大小
clean后的大小
不需要放到tomcat下运行,它会把内置的tomcat打进去
加个依赖,managed为受当前版本管理的,就选这个版本
springboot的热部署,改了代码只要一保存就会重启
上面打包后,运行的时候加端口是一种方法;可现在不想打包,就在这个环境中实现负载均衡,也能实现
先把热部署注释掉
给项目起个名字区分一下,加个-8080
用变量的方式用$引用
运行开启一个,改成8081再开启一个
拿到配置文件中server.port的值赋给port
启动8080端口,改成8081再启动一次就启动了两个服务器
这样不好区分,都是一个名字,所以用下面方法
用变量代替,为了去改启动配置
在启动配置中复制一份
改个名字,加启动参数:端口为8081,这样启动的就是8081端口;配置文件是默认8080,所以8080的可以不写(写上也可以,就是-Dport=8080)
这样就有两个启动项了,看起来更直观
阿里云的版本没有那么新
建好后没有报错,目录都一样,它的服务器编码,不用可以删掉
有一点不同,它没有父项目
他把继承的最终的springboot依赖过来了;官方的是先继承一个parent,parent又继承自这个最终的
我们一般用官方的
有些团队做分布式项目喜欢用阿里的模板,自己是父项目,就不想再继承别人,让别人都是我的模块;单体项目就用官方的;代码都是一样的,没区别。