SpringBoot
-
单体应用
-
开 发速度慢
-
启动时间长
-
依赖庞大
-
-
SpringCloud
-
易开发、理解和维护
-
独立的部署和启动
-
问题:
-
分布式系统-》分布式事务问题
-
需要管理多个服务-》服务治理
-
-
-
常见的创建SpringBoot创建方式
-
本地创建,maven依赖
org.springframework.boot spring-boot-starter-parent
2.2.2.RELEASE org.springframework.boot spring-boot-starter-web
org.springframework.boot spring-boot-starter-test
test org.junit.vintage junit-vintage-engine
org.springframework.boot spring-boot-maven-plugin
- 在线创建 :https://start.spring.io/
-
-
什么是SpringBoot,有什么用
- 一个web开发框架
- Servlet 、SpringMVC
- 简化配置
-
SpringBoot开发项目常见的交互使用形式
-
后端接口直接返回页面,现在比较少了
- 常见的传统IT公司比较多,配合模板引擎,由后端页面渲染返回
-
返回JSON数据,主流场景
- 互联网公司用的比较多,比如微服务接口,前后端分离项目,手机app等,基本都是通过JSON交互
-
-
如何使用SpringBoot2.X开发JSON接口
- @RestController注解
- return 一个POJO对象(不能返回字符串)
-
浏览器如果没安装json格式插件,则返回不会被美化
启动类
//使用SpringBoot启动注解
@SpringBootApplication
public class DemoProjectApplication {
public static void main(String[] args){
SpringApplication.run(DemoProjectApplication.class);
}
}
控制器
@RestController
//请求路径
@RequestMapping("/api/v1/video")
public class VideoController {
//请求的子路径
@RequestMapping("list")
public Object list(){
Map map = new HashMap<>();
map.put("姓名","狗子");
map.put("年龄","10");
return map;
}
}
请求地址:localhost:8080/api/v1/video/list
四、SpringBoot2.x常用注解的解析- @Controller 作用:用于标记这个类是一个控制器,返回页面的时候使用;如果要返回JSON,则需要在接口上使用@ResponseBody才可以
- @RestController 作用:用于标记这个类是一个控制器,返回JSON数据的时候使用,如果使用这个注解,则接口返回数据会被序列化为JSON
- 所以:@RestController = @Controller+@ResponseBody
-
@RequestMapping 作用:路由映射,用于类上做1级路径;用于某个方法上做子路径
-
@SpringBootApplication 作用: 用于标记是SringBoot应用,里面包含多个子注解,即
@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan
(下面的目前只需简单理解即可,想深入的同学,后续可以看专门的Spring原理课程深入)
@Configuration: 主要标注在某个类上,用于spring扫描注入,一般结合@Bean使用
@EnableAutoConfiguration: 启用Spring的自动加载配置,自动载入应用程序所需的所有Bean
@ComponentScan:告诉spring扫描包的范围,默认是Applocation类所在的全部子包,可以指定其他包
@ComponentScan({"net.xdclass.package1","net.xdclass.package2"})



