栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第二章 微服务必备核心-快速入门SpringBoot2.X

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第二章 微服务必备核心-快速入门SpringBoot2.X

一 、SpringBoot和SpringCLoud的区别

SpringBoot      

  • 单体应用

    • 开         发速度慢

    • 启动时间长

    • 依赖庞大

  • SpringCloud

    • 易开发、理解和维护

    • 独立的部署和启动

    • 问题:

      • 分布式系统-》分布式事务问题

      • 需要管理多个服务-》服务治理

二、SpringBoot2.x创建工具Spring Initializr 
  • 常见的创建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/
三、使用Spring2.x开发一个JSON接口
  • 什么是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"})
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号