第一章 微服务必备核⼼-快速⼊⻔SpringBoot2.X

1.SpringBoot2.X和SpringCloud微服务的关系

  • SpringBoot:是一个快速开发框架,通过用MAVEN依赖的继承方式,帮助我们快速整合第三方常用框架,完全采用注解化(使用注解方式启动SpringMVC),简化XML配置,内置HTTP服务器(Tomcat,Jetty),最终以Java应用程序进行执行
  • SpringCloud: 是一套目前完整的微服务框架,它是是一系列框架的有序集合。它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署
  • SpringCloud基于SpringBoot,SpringBoot只是一个快速开发框架,算不上微服务框架
  • SpringCloud+SpringBoot 实现微服务开发。具体的来说是,SpringCloud具备微服务开发的核心技术:RPC远程调用技术;SpringBoot的web组件默认集成了SpringMVC,可以实现HTTP+JSON的轻量级传输,编写微服务接口,所以SpringCloud依赖SpringBoot框架实现微服务开发

2.玩转SpringBoot2.X项⽬创建⼯具Spring Initializr

  • 本地创建,maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.3</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

3.SpringBoot2.X开发第⼀个JSON接⼝

  • 将上一步创建好的的demoproject导入idea

  • 创建src\main\java\com\example\demo\controller\DemoController.java
    在这里插入图片描述

  • 浏览器访问 http://localhost:8080/api/v1/list
    在这里插入图片描述

4. SpringBoot2.X的常⽤注解

  • @Controller 作⽤:⽤于标记这个类是⼀个控制器,返回⻚⾯的时候使⽤;如果要返回JSON,则需要在接⼝上使⽤@ResponseBody才可以
  • @RestController 作⽤:⽤于标记这个类是⼀个控制器,返回JSON数据的时候使⽤,如果使⽤这个注解,则接⼝返回数据会被序列化为JSON
  • 所以:@RestController = @Controller+@ResponseBody
  • @RequestMapping 作⽤:路由映射,⽤于类上做1级路径;⽤于某个⽅法上做⼦路径
  • @SpringBootApplication 作⽤: ⽤于标记是SringBoot应⽤,⾥⾯包含多个⼦注解,即
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值