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>
      
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • c#winform开发中DialogResult的用法[通俗易懂]

    c#winform开发中DialogResult的用法[通俗易懂]1、DialogResult经常用在winform开发中的登录,设置参数中,在主窗体中弹出设置参数的窗体,当我们点击设置参数窗体上的确定按钮时,直接返回设置参数窗体的DialogResult的属性即可,一般设置将属性的值设置为DialogResult.OK,这样怎么实现呢?只需要将设置参数窗体上的按钮的DialogResult属性设置为DialogResult.OK即可,这样按钮在单击时,就将这个…

  • DOS下处理含特殊字符[如:&]的字符串

    DOS下处理含特殊字符[如:&]的字符串

  • SQL语句学习

    SQL语句学习*以下内容是我在学习SQL(http://www.w3school.com.cn/sql/index.asp)的时候的学习笔记*学习时使用的数据库软件是MySQL数据库可视化工具SQLyogEn

  • 牛客网–2的幂次方

    牛客网–2的幂次方

  • Linux下c语言多线程编程

    Linux下c语言多线程编程创建线程函数pthread_create()和等待线程函数pthread_join()的用法。注意:在创建线程pthread_create()之前,要先定义线程标识符:pthread_t自定义线程名;例子1:创建线程以及等待线程执行完毕。#include<stdio.h>#include<stdlib.h>#include<pthread.h>//线程要运行的函数,除了函数名myfunc,其他全都是固定的。void*myfunc(){ p

    2022年10月21日
  • window10编译器_windows shell编程

    window10编译器_windows shell编程原文地址http://www.cctry.com/forum.php?mod=viewthread&tid=250698&extra=page%3D1&page=1&如何让我们的c++程序可以支持脚本,尤其是支持JavaScript是件很有意思的事情的,那样可以为软件的灵活性,扩展性提供可能。你可能会说用JavaScript引擎,对,JavaScript引擎有很多,有Googlev8,s

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

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