二、SpringBoot基础配置

2023-05-16

二、SpringBoot基础配置

  • 二、SpringBoot基础配置
    • 1、复制工程
    • 2、属性配置
    • 3、配置文件分类
      • 3.1、配置文件优先级
      • 3.2、教你一招:自动提示功能消失解决方案
    • 4、yaml文件
    • 5、yaml数据读取
      • 5.1、读取单一数据
      • 5.2、读取全部数据
      • 5.3、读取对象数据
      • 5.4、yaml文件中的数据引用

二、SpringBoot基础配置

​ 入门案例做完了,下面就要研究SpringBoot的用法了。通过入门案例,各位小伙伴能够感知到一个信息,SpringBoot没有具体的功能,它在辅助加快Spring程序的开发效率。我们发现现在几乎不用做任何的配置,功能就有了,确实很好用。但是仔细想想,没有做配置意味着什么?意味着配置已经做好了,不用你自己写了。但是新的问题又来了,**如果不想用已经写好的默认配置,该如何干预呢?**这就是这一章咱们要研究的问题。

​ 如果我们想修改默认的配置,这个信息应该写在什么位置呢?目前我们接触的入门案例中一共有3个文件,第一是pom.xml文件,设置项目的依赖的,这个没什么好研究的,相关的高级内容咱们到原理篇再说,第二是引导类,这个是执行SpringBoot程序的入口,也不像是做配置的地方,其实还有一个信息,就是在resources目录下面有一个空白的文件,叫做application.properties。一看就是个配置文件,咱们这一章就来说说配置文件怎么写,能写什么,怎么干预SpringBoot的默认配置,修改成自己的配置。

1、复制工程

image-20220602113515421

2、属性配置

​ SpringBoot通过配置文件application.properties就可以修改默认的配置,那咱们就先找个简单的配置下手,当前访问tomcat的默认端口是8080,好熟悉的味道,但是不便于书写,我们先改成80,通过这个操作来熟悉一下SpringBoot的配置格式是什么样的

image-20211123165428245

​ 那该如何写呢?properties格式的文件书写规范是key=value

name=itheima

​ 这个格式肯定是不能颠覆的,那就尝试性的写就行了,改端口,写port。当你输入port后,神奇的事情就发生了,这玩意儿带提示,太好了

image-20211123165719091

​ 根据提示敲回车,输入80端口,搞定

server.port=80

​ 下面就可以直接运行程序,测试效果了。

​ 我们惊奇的发现SpringBoot这玩意儿狠啊,以前修改端口在哪里改?tomcat服务器的配置文件中改,现在呢?SpringBoot专用的配置文件中改,是不是意味着以后所有的配置都可以写在这一个文件中呢?是的,简化开发者配置的书写位置,集中管理。妙啊,妈妈再也不用担心我找不到配置文件了。

​ 其实到这里我们应该得到如下三个信息

  1. SpringBoot程序可以在application.properties文件中进行属性配置
  2. application.properties文件中只要输入要配置的属性关键字就可以根据提示进行设置
  3. SpringBoot将配置信息集中在一个文件中写,不管你是服务器的配置,还是数据库的配置,总之都写在一起,逃离一个项目十几种配置文件格式的尴尬局面

总结

  1. SpringBoot默认配置文件是application.properties

​ 做完了端口的配置,趁热打铁,再做几个配置,目前项目启动时会显示一些日志信息,就来改一改这里面的一些设置。

关闭运行日志图表(banner)

spring.main.banner-mode=off

设置运行日志的显示级别

logging.level.root=debug

​ 你会发现,现在这么搞配置太爽了,以前你做配置怎么做?不同的技术有自己专用的配置文件,文件不同格式也不统一,现在呢?不用东奔西走的找配置文件写配置了,统一格式了,这就是大秦帝国啊,统一六国。SpringBoot比大秦狠,因为未来出现的技术还没出现呢,但是现在已经确认了,配置都写这个文件里面。

​ 我们现在配置了3个信息,但是又有新的问题了。这个配置是随便写的吗?什么都能配?有没有一个东西显示所有能配置的项呢?此外这个配置和什么东西有关呢?会不会因为我写了什么东西以后才可以写什么配置呢?比如我现在没有写数据库相关的东西,能否配置数据呢?一个一个来,先说第一个问题,都能配置什么。

​ 打开SpringBoot的官网,找到SpringBoot官方文档,打开查看附录中的Application Properties就可以获取到对应的配置项了,网址奉上:https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties

​ 能写什么的问题解决了,再来说第二个问题,这个配置项和什么有关。在pom中注释掉导入的spring-boot-starter-web,然后刷新工程,你会发现配置的提示消失了。闹了半天是设定使用了什么技术才能做什么配置。也合理,不然配置的东西都没有使用对应技术,配了也是白配。

温馨提示

​ 所有的starter中都会依赖下面这个starter,叫做spring-boot-starter。这个starter是所有的SpringBoot的starter的基础依赖,里面定义了SpringBoot相关的基础配置,关于这个starter我们到开发应用篇和原理篇中再深入讲解。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <version>2.5.4</version>
    <scope>compile</scope>
</dependency>

总结

  1. SpringBoot中导入对应starter后,提供对应配置属性
  2. 书写SpringBoot配置采用关键字+提示形式书写

3、配置文件分类

​ 现在已经能够进行SpringBoot相关的配置了,但是properties格式的配置写起来总是觉得看着不舒服,所以就期望存在一种书写起来更简便的配置格式提供给开发者使用。有吗?还真有,SpringBoot除了支持properties格式的配置文件,还支持另外两种格式的配置文件。分别如下:

  • properties格式

  • yml格式

  • yaml格式

    一看到全新的文件格式,各位小伙伴肯定想,这下又要学习新的语法格式了。怎么说呢?从知识角度来说,要学,从开发角度来说,不用学。为什么呢?因为SpringBoot的配置在Idea工具下有提示啊,跟着提示走就行了。下面列举三种不同文件格式配置相同的属性范例,先了解一下

  • application.properties(properties格式)

server.port=80
  • application.yml(yml格式)
server:
  port: 81
  • application.yaml(yaml格式)
server:
  port: 82

​ 仔细看会发现yml格式和yaml格式除了文件名后缀不一样,格式完全一样,是这样的,yml和yaml文件格式就是一模一样的,只是文件后缀不同,所以可以合并成一种格式来看。那对于这三种格式来说,以后用哪一种比较多呢?记清楚,以后基本上都是用yml格式的,本课程后面的所有知识都是基于yml格式来制作的,以后在企业开发过程中用这个格式的机会也最多,一定要重点掌握。

总结

  1. SpringBoot提供了3种配置文件的格式
    • properties(传统格式/默认格式)
    • yml(主流格式)
    • yaml

思考

​ 现在我们已经知道使用三种格式都可以做配置了,好奇宝宝们就有新的灵魂拷问了,万一我三个都写了,他们三个谁说了算呢?打一架吗?

3.1、配置文件优先级

​ 其实三个文件如果共存的话,谁生效说的就是配置文件加载的优先级别。先说一点,虽然以后这种情况很少出现,但是这个知识还是可以学习一下的。我们就让三个配置文件书写同样的信息,比如都配置端口,然后我们让每个文件配置的端口号都不一样,最后启动程序后看启动端口是多少就知道谁的加载优先级比较高了。

  • application.properties(properties格式)
server.port=80
  • application.yml(yml格式)
server:
  port: 81
  • application.yaml(yaml格式)
server:
  port: 82

​ 启动后发现目前的启动端口为80,把80对应的文件删除掉,然后再启动,现在端口又改成了81。现在我们就已经知道了3个文件的加载优先顺序是什么

application.properties  >  application.yml  >  application.yaml

​ 虽然得到了一个知识结论,但是我们实际开发的时候还是要看最终的效果为准。也就是你要的最终效果是什么自己是明确的,上述结论只能帮助你分析结论产生的原因。这个知识了解一下就行了,因为以后同时写多种配置文件格式的情况实在是较少。

​ 最后我们把配置文件内容给修改一下

  • application.properties(properties格式)
server.port=80
spring.main.banner-mode=off
  • application.yml(yml格式)
server:
  port: 81
logging: 
  level: 
    root: debug
  • application.yaml(yaml格式)
server:
  port: 82

​ 我们发现不仅端口生效了,最终显示80,同时其他两条配置也生效了,看来每个配置文件中的项都会生效,只不过如果多个配置文件中有相同类型的配置会优先级高的文件覆盖优先级的文件中的配置。如果配置项不同的话,那所有的配置项都会生效。

总结

  1. 配置文件间的加载优先级 properties(最高)> yml > yaml(最低)
  2. 不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留

3.2、教你一招:自动提示功能消失解决方案

​ 可能有些小伙伴会基于各种各样的原因导致配置文件中没有提示,这个确实很让人头疼,所以下面给大家说一下如果自动提示功能消失了怎么解决。

​ 先要明确一个核心,就是自动提示功能不是SpringBoot技术给我们提供的,是我们在Idea工具下编程,这个编程工具给我们提供的。明白了这一点后,再来说为什么会出现这种现象。其实这个自动提示功能消失的原因还是蛮多的,如果想解决这个问题,就要知道为什么会消失,大体原因有如下3种:

  1. Idea认为你现在写配置的文件不是个配置文件,所以拒绝给你提供提示功能

  2. Idea认定你是合理的配置文件,但是Idea加载不到对应的提示信息

    这里我们主要解决第一个现象,第二种现象到原理篇再讲解。第一种现象的解决方式如下:

步骤①:打开设置,【Files】→【Project Structure…】

image-20211126160548690

步骤②:在弹出窗口中左侧选择【Facets】,右侧选中Spring路径下对应的模块名称,也就是你自动提示功能消失的那个模块

image-20211126160726589image-20211126160844372

步骤③:点击Customize Spring Boot按钮,此时可以看到当前模块对应的配置文件是哪些了。如果没有你想要称为配置文件的文件格式,就有可能无法弹出提示

image-20211126160946448image-20211126160954338

步骤④:选择添加配置文件,然后选中要作为配置文件的具体文件就OK了

image-20211126161145082image-20211126161156324

​ 到这里就做完了,其实就是Idea的一个小功能

image-20211126161301699

总结

  1. 指定SpringBoot配置文件

    • Setting → Project Structure → Facets
    • 选中对应项目/工程
    • Customize Spring Boot
    • 选择配置文件

4、yaml文件

​ SpringBoot的配置以后主要使用yml结尾的这种文件格式,并且在书写时可以通过提示的形式加载正确的格式。但是这种文件还是有严格的书写格式要求的。下面就来说一下具体的语法格式。

​ YAML(YAML Ain’t Markup Language),一种数据序列化格式。具有容易阅读、容易与脚本语言交互、以数据为核心,重数据轻格式的特点。常见的文件扩展名有两种:

  • .yml格式(主流)

  • .yaml格式

    对于文件自身在书写时,具有严格的语法格式要求,具体如下:

  1. 大小写敏感
  2. 属性层级关系使用多行描述,每行结尾使用冒号结束
  3. 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键
  4. 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
  5. #号 表示注释

上述规则不要死记硬背,按照书写习惯慢慢适应,并且在Idea下由于具有提示功能,慢慢适应着写格式就行了。核心的一条规则要记住,数据前面要加空格与冒号隔开

​ 下面列出常见的数据书写格式,熟悉一下

boolean: TRUE  						#TRUE,true,True,FALSE,false,False均可
float: 3.14    						#6.8523015e+5  #支持科学计数法
int: 123       						#0b1010_0111_0100_1010_1110    #支持二进制、八进制、十六进制
null: ~        						#使用~表示null
string: HelloWorld      			#字符串可以直接书写
string2: "Hello World"  			#可以使用双引号包裹特殊字符
date: 2018-02-17        			#日期必须使用yyyy-MM-dd格式
datetime: 2018-02-17T15:02:31+08:00  #时间和日期之间使用T连接,最后使用+代表时区

​ 此外,yaml格式中也可以表示数组,在属性名书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔

subject:
	- Java
	- 前端
	- 大数据
enterprise:
	name: itcast
    age: 16
    subject:
    	- Java
        - 前端
        - 大数据
likes: [王者荣耀,刺激战场]			#数组书写缩略格式
users:							 #对象数组格式一
  - name: Tom
   	age: 4
  - name: Jerry
    age: 5
users:							 #对象数组格式二
  -  
    name: Tom
    age: 4
  -   
    name: Jerry
    age: 5			    
users2: [ { name:Tom , age:4 } , { name:Jerry , age:5 } ]	#对象数组缩略格式

总结

  1. yaml语法规则
    • 大小写敏感
    • 属性层级关系使用多行描述,每行结尾使用冒号结束
    • 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
    • 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
    • #号 表示注释
  2. 注意属性名冒号后面与数据之间有一个空格
  3. 字面值、对象数据格式、数组数据格式

思考

​ 现在我们已经知道了yaml具有严格的数据格式要求,并且已经可以正确的书写yaml文件了,那这些文件书写后其实是在定义一些数据。这些数据时给谁用的呢?大部分是SpringBoot框架内部使用,但是如果我们想配置一些数据自己使用,能不能用呢?答案是可以的,那如何读取yaml文件中的数据呢?咱们下一节再说。

5、yaml数据读取

​ 对于yaml文件中的数据,其实你就可以想象成这就是一个小型的数据库,里面保存有若干数据,每个数据都有一个独立的名字,如果你想读取里面的数据,肯定是支持的,下面就介绍3种读取数据的方式

5.1、读取单一数据

​ yaml中保存的单个数据,可以使用Spring中的注解直接读取,使用@Value可以读取单个数据,属性名引用方式:${一级属性名.二级属性名……}

image-20211126180433356

​ 记得使用@Value注解时,要将该注入写在某一个指定的Spring管控的bean的属性名上方。现在就可以读取到对应的单一数据行了

总结

  1. 使用@Value配合SpEL读取单个数据
  2. 如果数据存在多层级,依次书写层级名称即可

5.2、读取全部数据

​ 读取单一数据可以解决读取数据的问题,但是如果定义的数据量过大,这么一个一个书写肯定会累死人的,SpringBoot提供了一个对象,能够把所有的数据都封装到这一个对象中,这个对象叫做Environment,使用自动装配注解可以将所有的yaml数据封装到这个对象中

image-20211126180738569

​ 数据封装到了Environment对象中,获取属性时,通过Environment的接口操作进行,具体方法时getProperties(String),参数填写属性名即可

总结

  1. 使用Environment对象封装全部配置信息
  2. 使用@Autowired自动装配数据到Environment对象中

5.3、读取对象数据

​ 单一数据读取书写比较繁琐,全数据封装又封装的太厉害了,每次拿数据还要一个一个的getProperties(),总之用起来都不是很舒服。由于Java是一个面向对象的语言,很多情况下,我们会将一组数据封装成一个对象。SpringBoot也提供了可以将一组yaml对象数据封装一个Java对象的操作

​ 首先定义一个对象,并将该对象纳入Spring管控的范围,也就是定义成一个bean,然后使用注解@ConfigurationProperties指定该对象加载哪一组yaml中配置的信息。

image-20211126181126382

​ 这个@ConfigurationProperties必须告诉他加载的数据前缀是什么,这样当前前缀下的所有属性就封装到这个对象中。记得数据属性名要与对象的变量名一一对应啊,不然没法封装。其实以后如果你要定义一组数据自己使用,就可以先写一个对象,然后定义好属性,下面到配置中根据这个格式书写即可。

image-20211126181423432

温馨提示

​ 细心的小伙伴会发现一个问题,自定义的这种数据在yaml文件中书写时没有弹出提示,是这样的,咱们到原理篇再揭秘如何弹出提示。

总结

  1. 使用@ConfigurationProperties注解绑定配置信息到封装类中
  2. 封装类需要定义为Spring管理的bean,否则无法进行属性注入

5.4、yaml文件中的数据引用

​ 如果你在书写yaml数据时,经常出现如下现象,比如很多个文件都具有相同的目录前缀

center:
	dataDir: /usr/local/fire/data
    tmpDir: /usr/local/fire/tmp
    logDir: /usr/local/fire/log
    msgDir: /usr/local/fire/msgDir

或者

center:
	dataDir: D:/usr/local/fire/data
    tmpDir: D:/usr/local/fire/tmp
    logDir: D:/usr/local/fire/log
    msgDir: D:/usr/local/fire/msgDir

​ 这个时候你可以使用引用格式来定义数据,其实就是搞了个变量名,然后引用变量了,格式如下:

baseDir: /usr/local/fire
	center:
    dataDir: ${baseDir}/data
    tmpDir: ${baseDir}/tmp
    logDir: ${baseDir}/log
    msgDir: ${baseDir}/msgDir

​ 还有一个注意事项,在书写字符串时,如果需要使用转义字符,需要将数据字符串使用双引号包裹起来

lesson: "Spring\tboot\nlesson"

总结

  1. 在配置文件中可以使用${属性名}方式引用属性值
  2. 如果属性中出现特殊字符,可以使用双引号包裹起来作为字符解析

​ 到这里有关yaml文件的基础使用就先告一段落,在实用篇中再继续研究更深入的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二、SpringBoot基础配置 的相关文章

  • 普通程序员如何入门AI

    毫无疑问 xff0c 人工智能是目前整个互联网领域最火的行业 xff0c 随着AlphaGo战胜世界围棋冠军 xff0c 以及各种无人驾驶 智能家居项目的布道 xff0c 人们已经意识到了AI就是下一个风口 当然 xff0c 程序员是我见过
  • Arch Linux 安装简明流程

    Arch Linux 安装简明流程 这是一篇为 GPT EFI 引导 的电脑安装 Arch Linux xff08 双系统 xff09 的中文简明流程 xff0c 尽可能省略了可以省略的流程与文字以使得篇幅尽量短小 xff0c 基本上基于
  • python 数据文件上传到ftp服务器

    场景 xff1a 客户的某数据文件需要定时推送到一个第三方平台的ftp服务器上 xff0c 第三方平台会对上传过来的数据文件进行解析 一 通过FTP将文件上传到服务器 xff0c 需要满足以下几个条件 xff1a 本服务器和ftp服务器是联
  • 基于web系统的一个小型简单管理系统

    系统简介 本系统提供给暮云办公室的工作人员使用 权限包含 xff1a 检索信息 更新信息 删除信息技术路线 1 前端 xff1a html 43 ccs 43 js 采用框架 xff1a jquery 43 bootstrap 2 后端 x
  • 修改 Ubuntu 系统用户名和登录名

    在终端中 xff0c 命令行前面的字符串格式为用户名 64 主机名 路径 若要将老用户名user改为新用户名robot xff0c 请按照下面的顺序修改 xff08 0步骤可以跳过 xff09 xff1a 修改主机名 xff08 如果需要的
  • BT下载磁力下载工具,这几款,不限速

    想看个电影 xff0c 迅雷限速 xff0c 经常还因为某些原因下不了 xff0c 下载电影 xff0c BT下载工具总少不了 xff0c 今天给大家推荐这几款BT下载磁力链接下载工具 不限速下载 xff0c 超爽 xff01 一 Motr
  • ubuntu22.04桌面图标不显示的可能情况之一

    我自己的ubuntu突然不显示桌面图标了 xff0c 但文件管理器可以看到desktop目录下其实有文件的 xff0c 在网上找了很多方法也无济于事 xff0c 最后无意中点了下gnome插件里的一个选项 xff0c 问题就解决了 xff0
  • QT开发笔记(Serial Port )

    Serial Port Qt 提供了串口类 xff0c 可以直接对串口访问 我们可以直接使用 Qt 的串口类编程即可 xff0c 十分 方便 Qt 串口类不仅在 Windows 能用 xff0c 还能在 Linux 下用 xff0c 虽然串
  • ubuntu14.04版本下在目录下快捷打开终端

    在Ubuntu 14中 xff0c 您可以通过Nautilus文件管理器的右键菜单来快速打开终端窗口 xff0c 而无需切换到终端模式 具体的操作步骤如下 xff1a 打开Nautilus文件管理器 xff0c 并进入要打开终端窗口的目录
  • SQL SERVER添加注释的快捷键

    SQL SERVER添加注释 添加注释删除注释 添加注释 Ctrl 43 K xff0c C xff08 按住Ctrl xff0c 然后按K xff0c 接着按C xff09 删除注释 Ctrl 43 K xff0c U xff08 按住C
  • 多线程经典题目

    多线程编程 目录 文章目录 多线程编程目录work1work2work3work4work5work6work7work8锁的实现线程间同步唤醒 阻塞交替打印方式相关blogLambda原子类型理论锁模型Java锁底层实现 work1 sp
  • 抖音短视频脚本制作的一些技巧,快快收藏起来!

    在抖音上发布一个成功的短视频需要多方面的考虑 xff0c 其中最重要的是脚本的制作 一个好的脚本不仅可以吸引用户观看 xff0c 还可以让用户产生共鸣 xff0c 从而提高视频的传播效果 以下是不若与众科技一些关于抖音短视频脚本制作的技巧
  • java中http请求带cookie

    span class hljs built in String span urlPath 61 span class hljs string 34 你的请求链接 34 span span class hljs built in String
  • Linux系统下使用rpm安装时失败 出现错误:“依赖检测失败” 解决方法

    今天长青在重新安装yum的时候出现了这种错误 xff0c 提示 依赖检测失败 解决方法 xff1a 在命令末尾加上 nodeps force 参数意思 xff1a nodeps xff1a 不检测依赖关系 force xff1a 强制安装
  • springboot的sql日志打印与AOP实现接口调用日志打印

    Springboot的sql日志打印与AOP实现接口调用日志打印 96 1 Springboot与mybatis或者mybatisplus 打印sql执行语句 使用的是springboot中内部嵌入的日志框架 2 接口调用日志 xff0c
  • 双一流博士整理的71个OpenCV实战项目教程开放下载!

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 近期小白学视觉公众号推出了多篇Python 43 OpenCV实战项目的文章 xff0c 深受小伙伴们的喜爱 最近有小伙伴推荐 xff
  • 资料分析之增长量

    一 增长量的计算 识别 xff1a 增长 43 单位 公式 xff1a 1 给出现期 基期 xff1a 增长量 61 现期 基期 2 给出现期 增长率 xff1a 增长量 61 r 现期 1 43 r 速算 xff1a 1 尾数法法 xff
  • Manjaro 基础配置及常用软件安装

    更新源 获取key https mirrors tuna tsinghua edu cn help archlinux https mirrors tuna tsinghua edu cn help archlinuxcn 安装常用工具 x
  • JS中new Date().format("YYYY-mm-dd")提示format is not a function的解决办法

    format方法已经被移除了 xff0c 赶快换个组件 xff01 如果是个懒人 xff0c 就不要再看那些自己写方法大神给的函数了 xff01 xff01 用moment xff0c npm一下子就能装好 xff0c 很好用 xff01
  • python去掉字符串中的指定字符的方法

    我们在使用 Python处理字符串的时候 xff0c 经常会遇到一些字符串中出现了指定字符 xff0c 比如以下代码 xff1a 上面代码中的 就是一个指定字符 xff0c 在 python中 xff0c 如果使用 替换为指定字符 xff0

随机推荐

  • linux使用yum安装JDK8

    安装步骤 xff1a 1 查看是否已安装JDK yum list installed span class token operator span grep java 2 卸载CentOS系统Java环境 yum span class to
  • 图像的边缘检测和缺失修复(附matlab代码)

    最近在数学建模过程中老师给了个图片分别在清晰 有噪声及模糊状态下对其进行边缘检测的题目 xff0c 最后一题是将图片中一部分抠出后将图片按照剩余图片的特征进行修复 xff0c 整个问题涉及到人工智能及计算机视觉的领域较多 xff0c 和队友
  • FileNotFoundError:[Errno 2] No such file or directory :

    FileNotFoundError Errno 2 No such file or directory 1 根本原因 xff1a 路径有问题 2 可能的原因 xff1a 1 xff09 注意Windows与Linux分隔符的区别 Windo
  • Python学习-使用matplotlib画动态多图

    近期经常使用matplotlib进行数学函数图的绘制 xff0c 但是如何使用matplotlib绘制动态图 xff0c 以及绘制动态多图 xff0c 直到今天才学会 1 参考文字 首先感谢几篇文字的作者 xff0c 帮我学会了如何绘制 x
  • VS Code:无法在终端运行命令的解决方法

    1 在VSCode配置好 java 的开发环境后 xff0c 在终端运行时出现如下错误 xff1a 2 刚开始以为是系统环境没配置好 xff0c 结果在 PowerShell 运行没问题 xff1a 3 网上找到了解决方法 xff0c 原因
  • 应用宝sdk跳坑之路 - 1

    这次接入的是ysdk加midas的客户端下单模式 第一次接ysdk xff0c 卡住情况是在对接人员不搭理情况下 登录 0 qq登录未设置调试者账号 和 微信登录签名对不上的就不说了 1 登录的时候返回码一直是3100 xff0c 您尚未登
  • vscode本地同步修改ftp服务器文件

    这里写自定义目录标题 vscode本地同步修改ftp服务器文件搜索插件插件设置本地修改与服务器文件同步 vscode本地同步修改ftp服务器文件 本文记录一下本人使用vscode成功连接远程ftp服务器 xff0c 并成功修改文件的步骤 搜
  • docker拉命令时报错 ERROR: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout

    报错 xff1a 关于pull 命令时报错 xff1a get https registry 1 docker io v2 ner http TLS handshake timeout 或者 request canceled while w
  • 2018年App测试流程及要点梳理

    先说说 xff0c 为什么要给大家梳理App测试流程和要点呢 xff1f 主要是缘于有太多同学咨询相关App测试的问题 xff0c 回答的次数多了 xff0c 就不想打字了 xff0c 还不如这样全部帮你们整理好 xff0c 希望各位看到的
  • Java使用FTP时碰到的坑--服务部署到linux时storeFile返回false

    背景 正常情况下 xff0c 我们都是把上传的文件保存到Java服务运行的服务器上 前段时间根据公司正式环境上的情况 xff0c 必须要把文件做成跨服务器存储 xff0c 经过考虑 xff0c 最终采用FTP工具存储文件 因为保存的文件并不
  • 安装了VMwaretools却无法使用

    在很早之前安装了VMwaretools却无法使用 xff0c 不能实现在windows以及ubuntu互相之间的复制粘贴 今天想着彻底解决一下这个问题 xff0c 进行了一番操作 刚开始看到有博主说因为Ubuntu的次怕空间不足了 xff0
  • Java去掉数字字符串开头的0 四种方法 000010

    推荐方法一 方式一 xff1a String str 61 34 000010 34 int result 61 Integer parseInt tempStr System out println result 输出 xff1a 10
  • Ubuntu apt 安装gedit,报错 E: Unable to correct problems, you have held broken packages.

    Ubuntu apt 安装gedit xff0c 报错 E Unable to correct problems you have held broken packages 在安装软件的时候报错 xff1a 网上查询了很多资料 xff0c
  • rhel 7 yum源错误提示以及解决方式

    在 etc yum repos d 写好 repo 执行yum repolist之后出现以下错误提示 This system is not registered with an entitlement server You can use
  • C++——三种继承方式与三种访问权限的相互组合

    三种访问权限 public 可以被任意实体访问 protected 只允许子类及本类的成员函数访问 private 只允许本类的成员函数访问 三种继承方式 public 继承 protect 继承 private 继承 组合结果 基类中 继
  • Maven setting.xml国内镜像仓库(全)

    打开setting xml 位置在apache maven 3 6 1 conf下面 Ctrl 43 F 查找mirror标签位置加入即可 lt maven官方镜像 gt lt mirror gt lt id gt mirrorId lt
  • Android Studio创建项目

    一 创建新项目 二 选择空白页项目类型 三 设置项目信息 四 下载SDK 只有初次创建时会下载 下载完成 五 初始化项目工程 初始化完成
  • 解决MATLAB"尝试将 SCRIPT open 作为函数执行"的问题

    解决MATLAB 34 尝试将 SCRIPT open 作为函数执行 34 的问题 当关闭MATLAB一个脚本的时候 xff0c 再次双击打开 xff0c 会出现下图的情况 xff1a 脚本无法打开 xff0c 只能用实时脚本的方式打开 x
  • SMM(Spring+SpringMVC+MyBatis)

    Spring amp SpringMVC amp MyBatis 一 Spring的体系结构 自下往上 xff1a TestCore Container 核心容器 Beans xff1a 容器Core xff1a 核心Context xff
  • 二、SpringBoot基础配置

    二 SpringBoot基础配置 二 SpringBoot基础配置1 复制工程2 属性配置3 配置文件分类3 1 配置文件优先级3 2 教你一招 xff1a 自动提示功能消失解决方案 4 yaml文件5 yaml数据读取5 1 读取单一数据