首页 > 其他分享 >srpingboot 初识

srpingboot 初识

时间:2024-07-05 13:09:48浏览次数:14  
标签:spring boot srpingboot springframework 初识 RELEASE org starter

依赖管理

  1. 父项目(一直网上找)spring-boot-dependencies 决定了当前 springboot 预先配置的所有依赖及版本

      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.3.4.RELEASE</version>
      </parent>
    
  2. spring-boot-dependencies 里导入了很多依赖,并不是所有的都会导入项目,后面说怎么根据需要导入必要的依赖

  3. 修改默认的依赖版本

    <properties>
        ...
        <mysql.version>8.0.21</mysql.version>
        ...
    </properties>
    
    <dependencyManagement>
    	...
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.protobuf</groupId>
                        <artifactId>protobuf-java</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
        ...
    </dependencyManagement>
    

    上面是 springboot 配置的,如果自己项目要修改,两种方式

    <!-- 方式一:直接修改 dependency 版本 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <!-- 覆盖版本 -->
        <version>5.1.46</version>
    </dependency>
    
    <!-- 方式二:修改变量,maven 优先原则,会优先使用自己项目的版本号 -->
    <properties>
        ...
        <mysql.version>5.1.46</mysql.version>
        ...
    </properties>
    

    starter

    1. 一个 starter 就是一个场景,这个场景会引入所有相关依赖

    2. 官方 starter 命名为 spring-boot-starter-xxx,非官方的为 xxx-spring-boot-starter

    3. 比如 spring-boot-starter-web 就引入了 web 相关的所有依赖

      <dependencies>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter</artifactId>
              <version>2.3.4.RELEASE</version>
              <scope>compile</scope>
          </dependency>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-json</artifactId>
              <version>2.3.4.RELEASE</version>
              <scope>compile</scope>
          </dependency>
          <dependency>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-tomcat</artifactId>
              <version>2.3.4.RELEASE</version>
              <scope>compile</scope>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-web</artifactId>
              <version>5.2.9.RELEASE</version>
              <scope>compile</scope>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-webmvc</artifactId>
              <version>5.2.9.RELEASE</version>
              <scope>compile</scope>
          </dependency>
      </dependencies>
      

    自动配置

    比如 springMVC,要是我们自己配置 springMVC 要配置 DispatcherServlet、文件上传、中文乱码、tomcat 等等

    比如 spring 我们要配置 servlet 监听器、ioc 容器(@companScan)等

    但是 springboot 就不用我们自己配置了,自动配置好了

    <!-- springboot 支持的所有配置项都在这里(这里只是 springboot 的,非官方的在自己的 xxx-autoconfigure中 ) -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-autoconfigure</artifactId>
        <version>2.3.4.RELEASE</version>
        <scope>compile</scope>
    </dependency>
    

    这个里面的配置非常多,并不是每个都会配置,springboot 会按需进行配置(怎么自动配置,怎么按需配置,后面原理说)

标签:spring,boot,srpingboot,springframework,初识,RELEASE,org,starter
From: https://www.cnblogs.com/cryus/p/18285598

相关文章

  • 初识html
    HTML初识HTML的概念html是超文本标记语言,全称是HyperTextMarkupLanguage。它不是一种编程语言,是一种描述性的标记语言作用:HTML是负责描述文档语义的语言概念:超文本两层含义:1、文本理解就是文字,超出文字的比如图片、视频、动画等。2、可以通过链接跳转页面概念:标记语言百......
  • 初识布隆过滤|工作场景
    作用检查一个元素是否在一个集合中优缺点优点:空间效率和查询时间比一般算法好,时间复杂度低,O(k)k是函数的个数,节省空间缺点:有一定的错误几率,没有的也可能判定为存在,删除困难,无法获得参数本身场景解决Redis缓存穿透问题邮件过滤,使用布聋过滤器来做邮件黑名单过滤堆爬虫......
  • 解锁Diffusion Model: 初识Stable Diffusion、DALL-E、Imagen!
    前言扩散模型在生成高质量图像、视频、声音等方面表现突出。它们与物理学中的自然扩散过程相似而得名,自然扩散过程描述了分子如何从高浓度区域移动到低浓度区域。在机器学习的背景下,扩散模型通过逆转扩散过程来生成新数据。主要的思想是向数据添加随机噪声,然后反过来从噪声......
  • 基于C++类与权限初识:银行系统
    功能:银行的账户是一个模板,是一个类,有存款人信息和账户额度,而具体的存款人视为一个对象,一个对象不能私自修改账户额度,需要通过一个操作流程,比如去ATM或者柜台进行操作才能修改到账户额度,所以,存款人信息和账户额度设计成私有权限,通过公有的操作流程,也就是公有函数去操作私有......
  • 仿论坛项目--初识Spring Boot
    1.技术准备技术架构•SpringBoot•Spring、SpringMVC、MyBatis•Redis、Kafka、Elasticsearch•SpringSecurity、SpringActuator开发环境•构建工具:ApacheMaven•集成开发工具:IntelliJIDEA•数据库:MySQL、Redis•应用服务器:ApacheTomcat•版本......
  • Hadoop权威指南-读书笔记-01-初识Hadoop
    Hadoop权威指南-读书笔记记录一下读这本书的时候觉得有意思或者重要的点~第一章—初识HadoopTips:这个引例很有哲理嘻嘻......
  • CH01_初识JavaScript
    第1章:初识JavaScript编程语言本章目标了解为什么要学习JavaScipt编程语言掌握JS的基本结构掌握JS的执行原理掌握JS的基本语法结构掌握JS的几种输出方式掌握JS的注释课程回顾什么是HTML?HTML的标签分为块级元素和行级元素,他们的区别是什么?HTML的表单元素有那些?HTML的列表......
  • 15.初识操作符 下
    单目操作符介绍~:按(二进制)位取反有关带符号整数的二进制的三种表示:原码,反码,补码int32个bit表示-1原码10000000000000000000000000000001(最左边是符号位,0正1负,剩余是数值位,数值为表示真值-1的绝对值) 反码:负数:在原码基础上数值位0改1,1改0(即按位取反),符号位不变正数:原......
  • 2024.7.1 初识Linux
    1、Linux安装:(1)VmwareWorkstation安装(2)Centos7系统安装(3)使用Mobaxterm远程操控Linux虚拟机2、Linux命令(1)ipaddress查看本机的ip地址(2)cal查看日历用法:cal[选项][[[日]月]年]选项:-1,--one只显示当前月份(默认)-3,--three显示上个月、当月和下......
  • 初识Docker容器
    前言:Docker容器技术是一个强大而灵活的工具,用于构建、发布和运行分布式应用程序。以下是从入门到精通Docker容器的详细指南: 一、Docker容器基础Docker概述Docker是一个开源的应用容器引擎,它基于Go语言开发并遵循Apache2.0协议。Docker允许开发者将应用程序及其依赖打包到一个......