zoukankan      html  css  js  c++  java
  • (一)学习SpringBoot介绍

    为什么去要用到SpringBoot
    特点:
    • 创建独立的spring应用
    • 嵌入tomcat ,jetty不需要部署
    • 提供starters poms简化maven配置
    • 尽可能自动配置spring'应用
    • 提供生产指标,健壮检查和外部化部署
    • 绝对没有代码生成和xml配置要求
    好处:简洁,简单,易于部署,容易运行,轻量级,非阻塞

    传统项目:  考虑配置文件,jar冲突问题,整合起来繁琐

    什么是SpringBoot

    是一个快速开发框架,能够帮助我们快速整合第三方框架(Maven依赖关系##继承),完全采用注解化(简化xml配置),内置嵌入HTTP服务器,默认嵌入Tomcat服务器.最终以java应用程序进行执行(不同于传统的war包打包发布),没有Web.xml,采用注解方式启动.内置嵌入HTTP服务器 底层就是java创建Tomcat

    1.1注解取代web.xml

    1.2内置服务器,不采用war包打包发布,采用java应用程序进行执行java -jar

    2,springBootspringCloud关系

    springCloud  是一套目前完整的微服务框架  SpringBoot +springCloud是微服务 SpringBoot实现快速开发

    springBoot  是一套目前完整的解决微服务框架,功能比Dubbo强大,注册中心/客户端调用工具/服务治理(负载均衡,断路器,分布式配置中心.网关.服务链路.消息总线等Dubbo没有的)

    微服务通讯技术含义:   http+json(restful )  轻量级

    SpringBoot  Web组件默认集成SpringMVC  springCloud依赖于SpringBoot实现微服务,使用SpringMVC编写微服务接口.

    总结:springBootspringCloud的区别

    微服务开发----RPC远程通讯中心/服务治理

    核心区别:SpringCloud  微服务框架###rpc远程调用,单纯的只是集成SpringBoot实现快速开发

     SpringBootSpringMVC关系:

    Springboot启动springMvc的时候没有传统的配置文件

    怎么启动?

    采用注解方式启动.相当于采用java代码启动

    maven项目创建
    1、访问http://start.spring.io/
    2、选择构建工具Maven Project、Spring Boot版本2.0.4以及一些工程基本信息,点击“Switch to the full version.”java版本选择1.8,可参考下图所示
     

    3、点击Generate Project下载项目压缩包

    4、解压后,使用eclipse,Import -> Existing Maven Projects -> Next ->选择解压后的文件夹-> Finsh,OK done!

    项目结构介绍:

    Spring Boot的基础结构共三个文件

    Src/main/java   程序开发及主程序入口

    Src/main/resources   配置文件

    Src/test/java   测试程序

    com
      +- example
        +- myproject
          +- Application.java
          |
          +- domain
          |  +- Customer.java
          |  +- CustomerRepository.java
          |
          +- service
          |  +- CustomerService.java
          |
          +- controller
          |  +- CustomerController.java
          |
    

    Application.java  主要是做框架配置  放在根目录下

    Domain  主要用于实体(Entity)与数据访问层(Repository)

    Service   层主要是业务类代码

    Controller  负责页面访问控制

    采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改
    最后,启动Application main方法,至此一个java项目搭建好了

    引入web模块

    1、pom.xml中添加支持web的模块:

    pom.xml文件中默认有两个模块:

    spring-boot-starter :核心模块,包括自动配置支持、日志和YAML;

    spring-boot-starter-test :测试模块,包括JUnit、Hamcrest、Mockito。

    Spring-boot-starter-parent:整合第三方 常用框架依赖信息(各种依赖信息)

    Spring-boot-start-web:springBoot整合SpringMVC web 实现原理:Maven依赖继承关系

    相当于把第三方常用maven依赖信息,parent项目中已经封装好了,使用springboot提供依赖信息关联整合的jar,

    Springboot中快速原理(Maven子父依赖关系),springboot对常用依赖信息进行封装

    2、编写controller内容

    @Controller+@ResponseBody==@RestController 的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!

    //整个程序的入口,启动springboot项目  创建内置tomcat服务器,使用tomcat加载springmvc 注解启动类
    SpringApplication.run(Application.class, args);

    3、启动主程序,打开浏览器访问http://localhost:8080/hello,就可以看到效果了,有木有很简单!

    如何做单元测试

    打开的src/test/下的测试入口,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果

    开发环境的调试

    热启动在正常开发项目中已经很常见了吧,虽然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:该模块在完整的打包环境下运行的时候会被禁用。如果你使用java -jar启动应用或者用一个特定的classloader启动,它会认为这是一个“生产环境”。

    总结

    使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。

  • 相关阅读:
    Oracle(二)常用操作语句
    Oracle(一)概念理解
    Spring MVC实现文件上传和下载
    Spring MVC 的执行流程
    Spring MVC原理及配置详解
    idea创建maven web项目
    Spring Bean的生命周期
    integer和int的区别
    web项目搜索框智能提示
    html-tab page
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9487258.html
Copyright © 2011-2022 走看看