SpringBoot2-[SpringBoot优缺点、微服务理解、版本仲裁]

SpringBoot2-[SpringBoot优缺点、微服务理解、版本仲裁]??‍?博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家??擅长领域:Java、大数据、运维、电子??如果本文章各位小伙伴们有帮助的话,?关注+??点赞+?评论+?收藏,相应的有空了我也会回访,互助!!!?另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!文章目录Spring.ioSpring5重大升级SpringBoot优点SpringBoot缺点微服务SpringBoot官方文档Maven设置SpringBo..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在这里插入图片描述

??‍?博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家?
?擅长领域:Java、大数据、运维、电子
??如果本文章各位小伙伴们有帮助的话,?关注+??点赞+?评论+?收藏,相应的有空了我也会回访,互助!!!
?另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!


Spring.io

在这里插入图片描述

Spring5重大升级

  • 响应式架构和传统spring的SpringMvc项目架构的两套技术栈
    在这里插入图片描述

    • Reactive Stack :使用构建异步数据流响应开发数据访问、响应web开发、响应开发Security安全应用
  • 基于Java8的一些新特性,如:接口默认实现。重新设计源码架构。

SpringBoot优点

  • Create stand-alone Spring applications
  • 创建独立Spring应用
  • Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
  • 内嵌web服务器
  • Provide opinionated ‘starter’ dependencies to simplify your build configuration
  • 自动starter依赖,简化构建配置
  • Automatically configure Spring and 3rd party libraries whenever possible
  • 自动配置Spring以及第三方功能
  • Provide production-ready features such as metrics, health checks, and externalized configuration
  • 提供生产级别的监控、健康检查及外部化配置
  • Absolutely no code generation and no requirement for XML configuration
  • 无代码生成、无需编写XML

SpringBoot是整合Spring技术栈的一站式框架

SpringBoot是简化Spring技术栈的快速开发脚手架

SpringBoot缺点

  • 社区过于活跃,版本迭代太快,需要时刻关注新特性
  • 底层的Spring被封装过深不好挖掘。

微服务

  • 微服务是一种架构风格

  • 一个应用拆分为一组小型服务

  • 每个服务运行在自己的进程内,也就是可独立部署和升级

  • 服务之间使用轻量级HTTP交互

  • 服务围绕业务功能拆分

  • 可以由全自动部署机制独立部署

  • 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术

  • 分布式:

    在这里插入图片描述

    • 分布式解决方案:SpringBoot+SpringCloud

SpringBoot官方文档

在这里插入图片描述
在这里插入图片描述

Maven设置

<!--配置国内镜像源-->
<mirrors>
      <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  </mirrors>
 <!--配置编译环境-->
  <profiles>
         <profile>
              <id>jdk-1.8</id>
              <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
              </activation>
              <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
              </properties>
         </profile>
  </profiles>

SpringBoot版本依赖管理、仲裁

  • 因为所有的SpringBoot项目的maven的pom.xml都继承自spring-boot-starter-parent

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.7.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
  • spring-boot-starter-parent继承了org.springframework.boot,该父类即保存了常见的依赖版本实现版本仲裁

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.3.7.RELEASE</version>
      </parent>
    
    • 部分显示

      <activemq.version>5.15.14</activemq.version>
          <antlr2.version>2.7.7</antlr2.version>
          <appengine-sdk.version>1.9.83</appengine-sdk.version>
          <artemis.version>2.12.0</artemis.version>
          <aspectj.version>1.9.6</aspectj.version>
          <assertj.version>3.16.1</assertj.version>
          <atomikos.version>4.0.6</atomikos.version>
          <awaitility.version>4.0.3</awaitility.version>
          <bitronix.version>2.1.4</bitronix.version>
          <build-helper-maven-plugin.version>3.1.0</build-helper-maven-plugin.version>
          <byte-buddy.version>1.10.18</byte-buddy.version>
          <caffeine.version>2.8.8</caffeine.version>
          <cassandra-driver.version>4.6.1</cassandra-driver.version>
          <classmate.version>1.5.1</classmate.version>
      											.......
      
    • 如此就无需加版本号

      <dependency>
                  <groupId>mysql</groupId>
                  <artifactId>mysql-connector-java</artifactId>
       </dependency>
      
    • 若版本库里的版本号无法满足要求可以如下更改,若库里没有依赖的版本就需要按往常一样添加版本号

      <properties>
              <java.version>1.8</java.version>
              <mysql.version>8.0.22</mysql.version>
      </properties>
      
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189201.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • logback日志文件路径_mysql的日志文件在哪里

    logback日志文件路径_mysql的日志文件在哪里mysql日志文件在哪如何修改MySQL日志文件位置(2013-01-2415:57:13)标签:itMySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面就教您修改MySQL日志文件位置的方法,供您参考。今天需要改MySQL日志文件的位置,发现在/etc/my.cnf中怎么也改不了。后来发现MySQL日志位是指定的:[root@loc…

    2022年10月14日
    4
  • 淘宝双11大数据分析(数据可视化)[通俗易懂]

    淘宝双11大数据分析(数据可视化)[通俗易懂]文章目录前言本篇环境结果展示项目结构前言这一篇是最终篇,也是展示数据分析之后的结果的一篇。其他文章:淘宝双11大数据分析(环境篇)淘宝双11大数据分析(数据准备篇)淘宝双11大数据分析(Hive分析篇-上)淘宝双11大数据分析(Hive分析篇-下)淘宝双11大数据分析(Spark分析篇)本篇环境Idea中搭建一个SSM框架的Web项目。再整合Echarts可…

    2022年6月27日
    40
  • C++的后端框架从头开发[通俗易懂]

    C++的后端框架从头开发[通俗易懂]基于C++的后端框架Ratel简介:从开发到现在已经半个月了,我会进行长期地开发、维护和优化,直到它变得完善。各种建议和错误读者都可以和我联系,从公众号中就可以找到我的联系方式~Ratel后端框架目前采用C++作为开发语言,理想的效果是实现一个通用的、灵活的、高效的后端开发框架,可以自由选择不同的I/O复用机制,可以自由选择采用多线程、多进程或协程方式实现,并且可以跨平台Linux和Window平台编译和运行。目前已有功能:Linux和Windows跨平台运行

    2022年6月9日
    138
  • p6spy简介_p6教程

    p6spy简介_p6教程在公司项目中运用了这项技术,一开始不清楚这是干啥用的,在网上查找资料有所一定的了解,但是应该不够全面,希望可以评论指出。p6spy是数据库动态监控的一种框架,它可以使得数据库数据无缝拦截和操作,而不必对现有应用程序的代码作任何修改。P6Spy分发包包括P6Log,它是一个可记录任何Java应用程序的所有JDBC事务的应用程序。其配置完成使用时,可以进行数据访问性能的监测。下面我们来看一下…

    2022年9月28日
    3
  • NLP︱高级词向量表达(二)——FastText(简述、学习笔记)「建议收藏」

    NLP︱高级词向量表达(二)——FastText(简述、学习笔记)「建议收藏」FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法,不过这个项目其实是有两部分组成的,一部分是这篇文章介绍的fastText文本分类(paper:A.Joulin,E.Grave,P.Bojanowski,T.Mikolov,BagofTricksforEfficientTextClassif…

    2022年4月27日
    48
  • Linux iptables

    Linux iptables

    2021年8月23日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号