1.SpringBoot的优缺点:
1.优点
1.创建独立的spring应用.
2.内嵌web服务器.
3.自动starter依赖.
4.自动配置spring以及第三方功能
5.提供生产级别的监控,健康检查以及外部画配置.
6.无代码生产,无需编写xml.
2.缺点
1.人称版本帝,更新迭代快.
2.封装太深,内部原理复杂,不容易精通.
2.什么是微服务?
-
微服务是一种架构风格
-
一个应用拆分为一组小型服务.
-
每个服务运行在自己的进程内,也就是可以独立部署和升级.
-
服务之间可以使用轻量级的HTTP交互
-
服务围绕业务功能拆分.
-
可以由全自动部署机制独立部署.
-
去中心化,服务自治,服务可以使用不同的语言,不同的存储技术.
3.SpringBoot入门:HelloWorld
1.配置pom.xml文件(依赖管理):
<!--
父项目:依赖管理
1.几乎声明了开发中常用的依赖版本号,自动版本仲裁机制,所以在引入依赖时无需添加版本号.
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<!--
1、见到很多 spring-boot-starter-* : *就是某种场景
2、只要引入starter,这个场景的所有常规需要的依赖我们都自动引入
3、SpringBoot所有支持的场景
https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter
4、见到的 *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。
5、所有场景启动器最底层的依赖
-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<!--
可以修改默认版本号:
1、查看spring-boot-dependencies里面规定当前依赖的版本 用的 key。
2、在当前项目里面重写配置-->
<properties>
<mysql.version>5.1.43</mysql.version>
</properties>
<!-- ==========简化部署===================-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
简化部署:在加入简化部署插件后,maven会生成项目的jar包,在jar包的项目路径中进入cmd界面,输入java -jar 项目名,也可运行自己的web项目:
2.创建项目结构:
HelloWorldController.class:
/**
* @author wuhuai
* @program SpringBoot
* @description helloWorld控制器方法
* @create 2021-08-20 18:27
* RestController注解相当于 Controller+ResponseBody注解
**/
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String helloWorld(){
//在浏览器上显示Hello World
return "Hello World!";
}
}
MainApplication.class:
/**
* @author wuhuai
* @program SpringBoot
* @description 主方法
* @create 2021-08-20 18:31
* scanBasePackages:扫描指定包下的controller控制器
**/
@SpringBootApplication(scanBasePackages = "com.atguigu.controller")
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
注意:
- 自动配好SpringMVC
- 引入SpringMVC全套组件
- 自动配好SpringMVC常用组件(功能)
- 自动配好Web常见功能,如:字符编码问题(字符集过滤器)
- SpringBoot帮我们配置好了所有web开发的常见场景
- 默认的包结构
- 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来
- 无需以前的包扫描配置
- 想要改变扫描路径,@SpringBootApplication(scanBasePackages="com.atguigu.controller")
- 或者@ComponentScan 指定扫描路径
点击运行main方法,在浏览器中输入地址http://localhost:8080/hello,回车: