一、什么是SpringBoot
1、什么是Spring(简化开发)
Spring是为了解决企业级应用开发的复杂性而创建的。(理念目的)
2、Spring是如何简化JAVA开发的
1、基于POJP的轻量级和最小入侵性编程;
2、通过IOC,依赖注入DI和面向接口实现松耦合;
3、基于切面AOP和惯例进行声明式编程;
4、通过切面和模板减少样式代码;
3、SpringBoot的主要优点
1、方便Spring开发者更快的入门
2、开箱即用—提供各种默认配置来简化项目配置
3、内嵌式容器简化Web项目
4、没有冗余代码生成和XML配置的要求
4、单体应用架构(all in one)
1、单体应用架构(all in one),我们将一个应用中的所有服务都封装在一个应用中。
2、ERP、CRM或者其他系统,数据库的访问、web的访问,等等功能存放到一个war包中。
3、优点:1、易于开发和测试、方便部署;如果需要扩展的时候,将war复制多分,然后放到多个服务器上,做个负载均衡就可以了。
4、缺点:1、不方便修改,如果修改,需要停止整个服务,重新打包、部署这个应用war包,不利于维护、和多地操作。
5、什么是微服务?高内聚、低耦合(理解:雕刻板印刷到活字印刷)
1、微服务是一种架构风格:我们再开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通。
2、打破之前的单体应用架构方式, 把每个功能元素独立出来,把独立出来的功能元素的动态组合,需要的功能元素才去拿来组合,需要多一些时可以整合多个功能元素。(总结:微服务架构是对功能元素进行复制,而不是对整个应用进行复制)
3、优点:节省调用资、每个功能元素的服务都是一个可替换的、可独立升级的软件代码。
有兴趣的可以看一下这篇论文:《Micoservice》
用idea创建一个Springboot项目
这里来介绍以下pom.xml中的标签
<!-- 父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<!-- web场景启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<!-- 剔除依赖 -->
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 打包插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
请添加这个:这是调用接口,来接受前端的参数
404是找不到的意思
成功的界面