day01 您所在的位置:网站首页 pagehelper版本号 day01

day01

2023-03-15 14:41| 来源: 网络整理| 查看: 265

依赖管理和自动配置 1.依赖管理 1.1什么是依赖管理

spring-boot-starter-parent 中还有父项目,声明了开发中常用的依赖的版本号

并且进行自动版本仲裁,即如果程序员没有指定某个依赖jar的版本,则以父版本指定的版本为准

image-20230312200211772 1.2修改自动仲裁/默认版本号

比如我们要将SpringBoot的 mysql 驱动版本改为 5.1.49(默认版本为8.0.26),有两种方法:

(1)方式一:在pom.xml文件中显式的导入mysql依赖,并指定version

mysql mysql-connector-java 5.1.49

(2)方式二:在pom.xml文件的< properties>节点中指定mysql的 key,形如:

5.1.49 mysql mysql-connector-java image-20230312201218333

为什么能够达到修改版本仲裁的效果?

答:根据依赖就近优先原则。比如pom.xml文件不断的应用依赖,形成了一个依赖树,那么项目依赖jar的版本以离本项目最近的版本为准。如果本项目没有指定该jar的版本,就以离本项目最近的父项目的版本为准。

2.starter场景启动器 2.1starter场景启动器基本介绍

(1)开发中我们引入了相关场景的starter,这个场景中所有的相关依赖都引进来来,比如我们做web开发引入了spring-boot-starter-web,该starter将导入所有与web开发相关的所有包

image-20230312202512477

(2)依赖树:可以看到spring-boot-starter-web帮我们引入了spring-webmvc,spring-web开发模块,还引入了spring-boot-starter-tomcat场景,spring-boot-starter-json场景,这些场景下面又引入了一大堆相关的包,这些依赖项可以快速启动和运行一个项目,提高开发效率。

springboot-quickstart

(3)所有场景启动器最基本的依赖就是spring-boot-starter,从前面的依赖树可以看到这个依赖是SpringBoot自动配置的核心依赖

image-20230312203201794 2.2官方提供的starter

官方文档:Developing with Spring Boot

介绍:

在开发中我们经常会用到spring-boot-starter-xxx,比如spring-boot-starter-web,该场景作用于web开发,也就是说xxx是某种开发场景 我们只要引入starter,这个场景的所有常规需要的依赖都能自动引入 2.3第三方starter SpringBoot也支持第三方starter 第三方starter不需要从spring-boot开始,因为这是官方spring-boot保留的命名方式。第三方启动程序通常以项目名称开头。例如,名为thirdpartyproject的第三方启动程序项目通常被命名为thirdpartyproject-spring-boot-starter 也就是说,xxx-spring-boot-starter是第三方为我们提供的简化开发的场景启动器 3.自动配置 3.1自动配置介绍

在SSM框架整合时,需要配置tomcat、配置SpringMVC、配置如何扫描包、配置字符过滤器、配置视图解析器、文件上传等,非常麻烦。而在SpringBoot中,存在自动配置机制,极大提高了开发效率。

3.2SpringBoot自动配置了哪些

自动配置了Tomcat

自动配置了SpringMVC

自动配置了Web的常用功能:比如字符过滤器,文件上传,视图解析器等等

image-20230312205600873

自动配置:默认扫描包结构[官方文档],它会去扫描主程序所在的包及其子包下的所有文件,当然如果要扫描其他包也可以进行配置。

image-20230312210703781 3.3如何修改默认配置 3.3.1修改默认扫描包结构

直接在主程序的注解中指定要扫描的包及其子包:

@SpringBootApplication(scanBasePackages = {"com.li","xx.yy","aa.bb"})

注意,scanBasePackages属性可以接收多个值。

3.3.2通过属性文件修改配置

SpringBoot项目最重要也是最核心的配置文件就是application.properties,所有的框架配置都可以在这个配置文件中说明。application.properties文件一般放在resources目录下。

application.properties配置大全

默认配置最终都是映射到某个类中,这个类最终也会被注入到spring的容器中。

配置properties-->配置属性Bean-->Spring容器

例子:

#修改server的监听端口 默认为8080 server.port=10000 #修改单个文件上传的默认最大值 默认为1MB #multipart.max-file-size属性可以指定SpringBoot上传文件的大小限制 #默认配置最终都是映射到某个类中! #比如multipart.max-file-size会映射到MultipartProperties类上 #将光标放在该属性,输入ctrl+b,就可以定位这个属性是关联到哪个属性类上的 spring.servlet.multipart.max-file-size=10MB image-20230312215843707 3.3.3application.properties常用配置 #端口号 server.port=10000 #应用的上下文路径(项目路径) server.servlet.context-path=/allModel #指定 POJO 扫描包来让 mybatis 自动扫描到自定义的 POJO mybatis.type-aliases-package=com.cxs.allmodel.model #指定 mapper.xml 的路径: #application 上配置了@MapperScan(扫描mapper类的路径)和 pom.xml 中放行了 mapper.xml后, #配置mapper-locations没有意义。如果mapper类和 mapper.xml不在同一个路径下时,mapper-locations就有用了 mybatis.mapper-locations=classpath:com/cxs/allmodel/mapper #session 失效时间(单位 s) spring.session.timeout=18000 #数据库连接配置 #mysql 数据库 url mysql.one.jdbc-url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai&useSSL=false #mysql 数据库用户名 mysql.one.username= #数据库密码 mysql.one.password= #线程池允许的最大连接数 mysql.one.maximum-pool-size=15 #日志打印: #日志级别 trace


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有