XML配置文件

112 篇文章 2 订阅
订阅专栏

1、XML 概述

XML 是一种可扩展的标记语言,使用<>标签对括起来,XML 技术是 W3C 组织发布的

XML 结构清晰,是树状结构,可以用来描述层级关系之间的数据,一般作为配置文件的存在,用来传输数据

在这里插入图片描述

XML 语言出现的根本目的在于描述像上图那种有关系的数据。

XML是一种通用的数据交换格式

在XML语言中,它允许用户自定义标签。

一个标签用于描述一段数据,一个标签可分为开始标签和结束标签,在起始标签之间,又可以使用其他标签描述其他数据,以此来实现数据关系的描述。

XML中的数据必须通过软件程序来解析执行或显示,如 E,这样的解析程序称之为 Parse(解析器)

2、XML常见应用

  • XML的出现解决了程序间数据传输的问题:

比如QQ之间的数据传送,用XML格式来传送数据,具有良好的可读性,可维护性

  • XML可以做配置文件

XML文件做配置文件可以说非常普遍,比如我们的 Tomcat 服务器的server.xml,web.xml。
再比如我们的 structs 中的structs-config.xml文件,和 hibernate 的hibernate.cfg.xml等等。

  • XML可以充当小型的数据库

XML 文件可以做小型数据库,也是不错的选择。
我们程序中可能用到一些经常要人工配置的数据,如果放在数据库中读取不合适(因为这会增加维护数据库的工作),则可以考虑直接用XML来做小型数据库。这种方式直接读取文件显然要比读数据库快。比如msn中保存用户聊天记录就是用XML文件。

  • 入门案例:用 XML 来记录一个班级信息。
<?xml version="1.0" encoding="gb2312"?>

<class>
    <stu id="001">
        <name>杨过</name> 
        <sex>男</sex>
        <age>20</age>
    </stu>  
    <stu id="002">
        <name>小龙女</name>    
        <sex>女</sex>
        <age>21</age>
    </stu>
</class>

我们可以用浏览器打开,进行校验:

在这里插入图片描述

注意:在这个例子中,第一行的编码需要和浏览器的默认字符集charset保持一致,否则会报错

3、XML语法

节点是文档、元素、属性、文本的统称

XML 组成部分:

  1. 文档:Document
    就是指一个XML文件
  2. 元素:Element
    在XML中使用<>括起来的就是一个个元素,比如class、stu、age
    class:根元素,一个XML文档只有一个根元素
  3. 属性:Attribute,简写Attr
    在元素内,格式为xx=yy,xx属性名称,yy属性值,比如id=“002”
  4. 文本:Text
    字符串内容,元素之间的内容就是文本,比如女,21

3.1、文档声明

XML声明放在XML文档的第一行

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

由以下部分组成:

  1. version :文档符合XML1.0规范,我们学习1.0
  2. encoding :文档字符编码,比如”GB2312”或者”UTF-8”
  3. standalone :文档定义是否独立使用,yes表示不可包含其他文档
  4. standalone=”no”为默认值。yes代表是独立使用,而no代表不是独立使用

3.2、元素(或者叫标记、节点)

3.2.1、每个XML文档必须有且只有一个根元素

在 XML 文档中,有且只有一个根标签

  • 根元素是一个完全包括文档中其他所有元素的元素
  • 根元素的起始标记要放在所有其他元素的起始标记之前
  • 根元素的结束标记要放在所有其他元素的结束标记之后
3.2.2、XML元素指的是XML文件中出现的标签,一个标签分为开始标签和结束标签

标签有内容需成对出现,开始标签<xx>,结束标签</xx>

<a>www.sohu.com</a>

标签如果没有内容可以使用单标签<xx/>

<a></a>
简写为:<a/>

在 XML 文档中,允许标签嵌套,但不允许交叉嵌套

以下情况报错:
<a>welcome<b>
www.sohu.com</a></b>
3.2.3、对于XML标签中出现的所有空格和换行,XML解析程序都会当做标签内容进行处理

例如下面两段内容的意义是不一样的

<stu>xiaoming</stu>
<stu>
    xiaoming
</stu>

由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,要特别注意

3.2.4、命名规范

一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守以下规范:

  1. 区分大小写,例如,元素P和元素p是两个不同的元素
  2. 不能以数字或下划线”_”开头
  3. 元素内不能包含空格
  4. 名称中间不能包含冒号(:)
  5. 可以使用中文,但一般不这么用
  6. 属性必须使用引号引起来,不引会报错

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

3.3、属性

<student id="100">
    <name>Tom</name>
</student>
  1. 属性值用双引号(”)或单引号(’)分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。
    在这里插入图片描述
  2. 如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符,如下
    在这里插入图片描述
&lt;<
&gt;>
&amp;&
&apos;
&quot;"
  1. 当需要转义的字符过多时候,比如需要输入大量的尖括号作为没有意义的文本,可以使用文本区域(CDATA 区)
    CDATA 语法可以告诉 xml 解析器,我 CDATA 里的文本内容,只是纯文本,不需要 xml 语法解析
    格式:<![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml ]]>
    在这里插入图片描述

  2. 一个元素可以有多个属性,它的基本格式为

<元素名 属性名1="属性值1" 属性名2="属性值2">
  1. 特定的属性名称在同一个元素标记中只能出现一次
  2. 属性值不能包括<,>,&,如果一定要包含,也要使用实体

3.4、注释

XML的注释类似于HTML中的注释:

<!--这是一个注释-->

需要注意以下事项:

  1. 注释内容不要出现–
  2. 不要把注释放在标记中间;
  3. 注释不能嵌套
  4. 可以在除标记以外的任何地方放注释

4、 DOM解析

一般自动完成,不是重点,理解即可

4.1、XML结构分析

普通xml结构图:
在这里插入图片描述

通过 xml 层次结构整理如下图:在这里插入图片描述
XML 的各个组成部分都需要使用一个类型来描述:

  1. XML文件:吧XML文档加载到内存中,使用Document对象来描述这个文档
  2. 标签 / 元素:所有的标签,使用Element 对象来描述
  3. 属性:标签的属性,使用Attribute来描述
  4. 文本:文本内容(文本、空格、回车),使用Text来描述

根据上面四种成员的共性,继续抽象出父类(接口):org.w3c.dom.Node

所以,在XML中,一切皆节点

在这里插入图片描述

而这种吧 XML 文档加载到内存之后,形成一个一个的对象,这种操作我们称为 DOM 解析

4.2、DOM简介

DOM :Document Object Model 文档对象模型思想,把文档中的成员描述成一个个对象

使用场景:

使用 js 来解析 HTML 中的数据

特点:

在加载的时候,一次性把整个 XML 文档加载进内存,在内存中形成一棵树 DOM 树(Document 对象)

我们以后使用代码操作 Document ,其实操作的是内存中的 DOM 树,和本地磁盘中的 XML 文件没有直接关系

比如:保存了一个联系人,仅仅是内存中多了一个联系人,但是在 XML 文件中没有新增的痕迹,除非做 同步操作,即把内存中的数据更新到XML文件中
(增删改操作之后,都要做同步操作)

缺点:

若 XML 文件过大,可能造成内存溢出
操作 XML 的增删改查(CRUD)的时候很简单,但是性能比较低下

5、Document 获取

XML 被程序读到内存中会形成一个 Document 对象,所以要解析 XML ,首先要先获取到 Document 对象

获取 Document 对象的步骤:

  1. 声明 XML 文件,File文件
File file = new File(path);
  1. 通过 DocumentBuilderFactorynewInstance方法获取自身对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  1. 通过 DocumentBuilderFactory 对象去获取 DocumentBuilder 对象
DocumentBuilder db = dbf.newDocumentBuilder();
  1. 通过 DocumentBuilder 对象去解析获取 Document 对象
Document d = db.parse(file);

步骤流程图以及获取 Document 对象方法选用如下:

在这里插入图片描述
思路如下:

当需要获取Document对象,但是Document是一个接口,API里面没有合适的实现类,也没有提供方法,就看父类,父类也没有提供获取的方法,可以找有没有工厂类

该例中,有DocumentBuilder,API中已说明可以获取DOM文档实例,同时DocumentBuilder的实例可以从DocumentBuilderFactory.newDocumentBuilder()获取

而对于DocumentBuilderFactory,自己有提供方法newInstance()来获取自身的对象

什么时候用 parse(File) ,什么时候用 newDocument() ?

  • newDocument():当没有 xml 文件的时候,直接在内存中去创建 DOM 树(Document 对象)
  • parse(File):当存在 xml 文件的时候,使用该方法去解析 xml 文件到内存中,形成 DOM 树(Document 对象)

6、获取某个联系人姓名

需求: 获取第二个联系人的名字
在这里插入图片描述

步骤:

  1. 获取Document 对象
  2. 获取根节点 / 根标签 contacts
  3. 获取第二个 linkman 节点 / 标签
  4. 获取名字 name 节点
  5. 获取名字节点的文本内容

常用API:

  1. Document 对象
    Element getDocumentElement () :获取根节点

  2. Element 对象
    NodeList getElementsByTagName(String name):获取指定名称的子元素,返回NodeList
    getAttribute(String name):获取元素中的属性值

  3. Node对象
    String getTxetContent():获取节点的文本内容
    void setTextContent(String content):设置节点的文本内容

代码实现:

//需求: 获取第二个联系人的名字
@Test
public void testGet(){
	File file = new File("E:\\workspace\\atguigu\\resource\\contacts.xml");
	
	//1、获取Document对象
	DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
	DocumentBuilder db = DocumentBuilderFactory.newDocumentBuilder();
	org.w3c.dom.Document doc = db.parse(file);
	
	//2、获取根元素
	Element root = doc.getDocumentElement();
	
	//3、获取第二个linkman元素
	NodeList list = root.getElementsByTagName("linkman");  //返回指定名称linkman的子元素集合
	Element linkman = (Element)list.item(1);  //返回集合中的第二个元素
	
	//4、获取linkman元素中的name元素
	Element name = (Element)linkman.getElementsByTagName("name").item(0);  
	
	//5、获取name元素中的文本内容
	String s = name.getTxetContent();
	System.out.println(s);
	
	//获取第二个linkman中的id属性
	System.out.println(linkman.getAttribute("id"));
}

6.1、获取所有标签中的内容

需要分四步操作:

  1. 第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象(需要导入dom4j的jar包作为library)
    在这里插入图片描述
    里面有 index.html 是介绍使用的说明书
    在这里插入图片描述

  2. 第二步,通过 Document 对象。拿到 XML 的根元素对象

  3. 第三步,通过根元素对象。获取所有的 book 标签对象

  4. 第四步,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,再通过 getText() 方法拿到起始标签和结 束标签之间的文本内容

在这里插入图片描述
代码:

@Test 
public void readXML() throws DocumentException {
	//1、通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
	//在单元测试中,相对路径是从模块开始的
	SAXReader reader = new SAXReader(); 
	Document document = reader.read("src/books.xml");

	//2、通过 Document 对象。拿到 XML 的根元素对象
	Element root = document.getRootElement();
	
	//3、通过根元素对象。获取所有的 book 标签对象
	//Element.elements(标签名)返回当前元素下的指定的子元素的集合,返回List
	//Element.element(标签名)返回当前元素下指定的子元素,返回Element
	List<Element> books = root.elements("book");
	
	//4、遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素
	//Element.asXML()将当前元素对象转换成为 String,输出也是尖括号的样式
	for (Element book : books) {
		//在这里可以打印出结果
		// System.out.println(book.asXML());
		Element nameElement = book.element("name");
		// getText() 返回起始标签和结束标签之间的文本内容
		String nameText = nameElement.getText();
		// elementText() 直接获取指定标签名内的文本内容
		String priceText = book.elementText("price");
		String authorText = book.elementText("author");
		// attributeValue() 获取指定属性名的属性值
		String snText = book.attributeValue("sn");
		
		//可以将内容封装进定义好的类中
		System.out.println(new Book(snText ,nameText ,priceText ,authorText))
	}
}

7、插入一个联系人信息

需求: 增加一个联系人信息

步骤:

  1. 获取Document 对象
  2. 获取根元素
  3. 创建一个 linkman 节点 / 标签
    1. 创建 name、email、group 子元素
    2. 给 name、email、group 子元素添加文本内容
    3. 将 name、email、group 子元素设置为 linkman 节点的子元素(建立父子联系)
    4. 将 linkman 子元素设置为根元素的子元素(建立父子联系)
  4. 同步操作(将代码同步到文件)

常用API:

  1. Document 对象
    Element getDocumentElement() :获取根节点
    Element createElement(String name)) :创建指定名字的元素 / 节点

  2. Element 对象
    NodeList getElementsByTagName(String name):通过标签名获取标签列表

  3. Node对象
    String getTxetContent():获取节点的文本内容
    void setTextContent(String content):设置节点的文本内容
    父元素.appendChild(子元素):添加父子关系

  4. Transformer :同步转换器
    void transform(Source xmlSource, Result outputTarget):同步操作

transform(内存中的doc, 磁盘中的XML)

Source : 源是内存中的 Document ,所以使用 DOMSource(Node doc)实现类
还有一个实现类StreamSource()

Result : 内存写到磁盘中,使用流操作文件,所以使用StreamResult(File file)实现类
还有一个实现类DOMResult()

注意:
XML 加载到内存之后,使用一个 Document 对象来描述 XML 的结构,之后操作都是在操作内存中的 Java 对象文艺,跟磁盘中的文件没有关系,要想形成控制台与文件的同步变化,就需要进行同步操作,操作之后,才可以保证内存中的数据与磁盘中的数据一致

代码实现:

//需求:增加一个联系人信息
@Test
public void testGet(){
	File file = new File("E:\\workspace\\atguigu\\resource\\contacts.xml");
	
	//1、获取Document对象
	org.w3c.dom.Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
	
	//2、获取根元素对象
	Element root = doc.getDocumentElement();
	
	//3、创建linkman的XML片段
	//Ctrl+D 向下复制一行
	Element linkman = doc.createElement("linkman");
	Element name = doc.createElement("name");
	Element email = doc.createElement("email");
	Element group = doc.createElement("group");
	
	//4、设置属性
	linkman.setAttribute("id", "3");
	
	//5、设置文本内容
	name.setTextContent("李五");
	email.setTextContent("999@126.com");
	group.setTextContent("Java学院");
	
	//6、建立name、email、group子元素与linkman的父子联系,linkman与根元素对象的父子联系
	linkman.appendChild(name);
	linkman.appendChild(email);
	linkman.appendChild(group);
	root.appendChild(linkman);
	
	//7、同步操作,将内存的数据同步到磁盘中XML文件
	Transformer transformer = TransformerFactory.newInstance().newTransformer();
	Source source = DOMSource(doc);  //内存中的Document对象
	Result result = StreamResult(file);  //磁盘中的文件
	transformer.transform(source, result)
}

在这里插入图片描述

8、小结

  1. 获取Document对象
    org.w3c.dom.Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
  2. 获取Document对象的根节点
    doc.getDocumentElement();
  3. 获取某个元素的子元素
    NodeList getElementsByTagName(String name):获取指定名称的子元素,返回NodeList
  4. 获取元素的属性值
    getAttribute(String name):获取元素中的属性值,name为属性名
  5. 获取节点的文本内容
    getTxetContent():获取节点的文本内容
  6. 设置节点的文本内容
    void setTextContent(String content):设置节点的文本内容
  7. 添加元素的父子关系
    父元素.appendChild(子元素):添加父子关系
  8. 同步操作
    void transform(Source xmlSource, Result outputTarget):同步操作
  9. 如果是内存中Document对象同步到磁盘中的文件中 DOMSource(Node document)StreamResult(File file)
各种XML的配置方法
一页
07-11 4704
1、在web中配置创建数据库连接首先创建用于建立数据库连接的DbLib.java:然后,配置server中的context.xml文件,注意mytest普通的创建数据库连接方式:2、3、4、...
C3P0-config.xml 配置文件
04-06
用于servlet+jsp开发时连接数据库,必须要配置文件。该配置文件已经设置了时区和页面的编码问题。只要改数据库名即可用。
XML文件详解:XML是什么、XML配置文件XML数据文件、XML文件解析教程
深耕嵌入式领用多年, 致力于分享嵌入式领域技术!
08-07 3620
问题咨询及项目源码请加群: QQ群: 名称:IT项目交流群 群号:245022761 1、简介概述XML,为什么要用XML(记住) XML 被设计用来传输和存储数据。 XML 把数据从 HTML 分离 XML 简化数据共享 XML 简化数据传输 XML 简化数据传输 XML 使您的数据更有用 总结:XML就是用来存储数据的文件,可以通过解析后提取我们想要数据。 1、如:配置文件中存储需要配置的数据;2、数据文件存储我们需要使用的数据; 2、写XML文件需要注意的语法,记...
XML 配置文件
m0_54035969的博客
09-11 165
XML、DTD、Schema
logback jar包和logback.xml配置文件打包下载 小白新手学Java
04-28
slf4j-api-1.7.26.jar logback-core-1.2.3.jar logback-classic-1.2.3.jar logback.xml
C#读取XML配置文件
05-10
C#读取XML配置文件 C#读取XML配置文件C#读取XML配置文件C#读取XML配置文件C#读取XML配置文件
XML配置文件连接Oracle数据库
01-19
XML配置文件连接Oracle数据库
XML配置文件(DTD详细讲解)
m0_65725031的博客
07-05 4490
Extensible Markup Language(可扩展标记语言),简称XML,类似于HTML,用来传输和存储数据。可扩展标记语言是什么?有一个根元素(根元素就像HTML中的标签一样,所有的其他标签都是写在该标签中的,所有该标签只能有一个) 在XML中加入DTD声明 ,root---->根元素例如:该代码中的根元素为,那么我们语句改为。然后我们定义规范时的代码都是写...
Spring高手之路16——解析XML配置映射为BeanDefinition的源码
卓越无关环境,保持空杯心态——靡不有初,鲜克有终
11-10 9237
本文提供了深入Spring源码的透彻解析,从XML配置文件的加载开始,步入了Spring的内部世界。通过细致剖析setConfigLocations、refresh和loadBeanDefinitions等方法的实现,揭示了Bean从定义到注册的整个生命周期。
Spring-Xml配置
m0_71212413的博客
03-02 2861
Spring-Xml配置
c++读取XML配置文件
05-22
c++读取XML配置文件C++中并没有操作XML文件的标准库,因此大家需要使用各自熟悉的XML库来解决XML文件的读取与写入。XML的一个重要用途是作为程序的配置文件,存储程序运行相关的各种数据。本文总结了使用libxml2库来对XML配置文件进行编程的一些经验。最后提供了一个封装好的类CXMLConfig,并详细说明了该类的功能、使用方法和注意事项。
C# WinForm开发中使用XML配置文件实例
09-04
主要介绍了C# WinForm开发中使用XML配置文件实例,本文详细讲解了如何使用一个XML文件作为WinForm的配置文件,需要的朋友可以参考下
web.xml配置文件
07-31
web.xml配置文件
C#读写XML配置文件
03-17
摘要:C#源码,文件操作,读写XML,配置文件 运行环境:Visual Studio2010
AndroidManifest.xml配置文件解析
09-05
AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文将详细介绍,需要了解的朋友可以参考下
Logback类库含logback.xml配置文件
04-18
该压缩包包含 logback类库所包含的jar包以及logback.xml配置文件(放到 src 目录),用于开发学习使用。
虚拟机xml配置文件
08-14
这是虚拟机模板配置文件,这个配置文件定义了虚拟机名字,内存,磁盘,网卡的详细配置
详解spring applicationContext.xml 配置文件
08-31
本篇文章主要介绍了详解spring applicationContext.xml 配置文件 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Web.xml文件配置详解
最新发布
KYGALYX的博客
11-23 5058
可有可无,如果在web.xml中不写配置信息,默认的路径是/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。通常无需重写init()和destroy()两个方法,除非需要在初始化Servlet时,完成某些资源初始化的方法,才考虑重写init()方法,如果重写了init()方法,应在重写该方法的第一行调用super.init(config),该方法将调用HttpServlet的init()方法。
idea创建XML配置文件
07-16
在 IntelliJ IDEA 中创建 XML 配置文件可以通过以下步骤进行: 1. 打开 IntelliJ IDEA,确保你已经打开了你想要在其中创建 XML 配置文件的项目。 2. 在项目的资源目录(例如,src/main/resources)或任何其他你认为合适的位置,右键单击鼠标,然后选择 "New" -> "File"。 3. 在弹出的对话框中,输入文件的名称,包括扩展名 ".xml"。例如,"config.xml"。 4. 点击 "OK" 创建文件。 5. 现在,你可以在 IntelliJ IDEA 的编辑器中编辑 XML 配置文件。 6. 在编辑器中编写 XML 代码,根据你的需求定义配置内容。 7. 保存文件。 通过以上步骤,你就成功地创建了一个 XML 配置文件。 请注意,在 IntelliJ IDEA 中创建 XML 配置文件并不特定于任何特定的 XML 结构或语法。你可以根据自己的项目需求自由编写和定义 XML 文件内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • MySQL报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column whic 21549
  • Could not extract response: no suitable HttpMessageConverter found for content type [text/html] 10512
  • ES报错 Unable to parse response body for Response 8550
  • bat 打开 cmd 跳转某个目录并执行某些命令 7556
  • XML配置文件 7254

分类专栏

  • 笔记 112篇
  • Netty 1篇
  • Gold 4篇

最新评论

  • ES报错 Unable to parse response body for Response

    大概是因为我姓黄: [code=java] import org.apache.http.Header; import org.apache.http.message.BasicHeader; @Bean("restHighLevelClient") public RestHighLevelClient restHighLevelClient() { RestClientBuilder.RequestConfigCallback requestConfigCallback = requestConfigBuilder -> requestConfigBuilder.setConnectTimeout(2 * 1000).setSocketTimeout(30 * 1000); RestClientBuilder restClientBuilder = RestClient.builder(HttpHost.create(knnElasticSearchHost)) .setRequestConfigCallback(requestConfigCallback).setDefaultHeaders(compatibilityHeaders()); return new RestHighLevelClient(restClientBuilder); } private Header[] compatibilityHeaders() { return new Header[]{new BasicHeader(HttpHeaders.ACCEPT, "application/vnd.elasticsearch+json;compatible-with=7"), new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.elasticsearch+json;compatible-with=7")}; } [/code]

  • ES报错 Unable to parse response body for Response

    大概是因为我姓黄: [code=java] import org.springframework.http.HttpHeaders; @Bean("elasticsearchClient") public RestHighLevelClient elasticsearchClient() { HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.add(HttpHeaders.ACCEPT, "application/vnd.elasticsearch+json;compatible-with=7"); httpHeaders.add(HttpHeaders.CONTENT_TYPE, "application/vnd.elasticsearch+json;compatible-with=7"); ClientConfiguration.TerminalClientConfigurationBuilder builder = ClientConfiguration.builder() .connectedTo(elasticSearchHost).withDefaultHeaders(httpHeaders); final ClientConfiguration clientConfiguration = builder .withSocketTimeout(Duration.ofSeconds(60)).build(); return RestClients.create(clientConfiguration).rest(); } [/code]

  • ES报错 Unable to parse response body for Response

    爱生活的工程师: 博主,此问题可能是由于服务器上安装的elasticsearch版本和pom文件中依赖的es客户端版本不一致导致的。我这边也是这个问题,服务器上安装的是:8.10.4,但是代码中使用的es客户端版本是:7.17.3

  • MySQL报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column whic

    weixin_48645661: 我也是一样的问题,请问您解决了吗

  • MySQL报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column whic

    weixin_46397834: 我在my.ini文件中插入之后mysql启动不了了是为什么?

大家在看

  • 鸿蒙开发接口UI界面:【@ohos.animator (动画)】 765
  • Debug-013-el-loading中显示倒计时时间 1
  • kafka单机安装及性能测试
  • [每日一练]按日期分组销售产品的最优解法 257
  • IPFoxy Tips:海外代理IP适用的8个跨境出海业务

最新文章

  • 在拦截器中使用redis报错空指针
  • Netty
  • xxl-sso 单点登录
2023年12篇
2022年45篇
2021年59篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源栩起名男生名字遇见未知的自己读后感战神杨辰最新章节锦起名字超市和便利店起名两个刘姓怎么起名字入赘特斯拉起诉特朗普政府富察容音宝宝起名小名暑伏是几月几号2021爱在桐花纷飞时全集生鲜食品自有品牌起名石油科技有限公司起名梦见鞭炮青出于蓝的意思霸气起名手机蓝牙连接电脑最强大脑选手破案酒馆起名南京公司起名大全首字母起名欣达地板高起本考试报名时间公寓公司免费起名大神与七位伙伴风声谁是老鬼免费空间皮肤美国伊朗开战建筑公司起名三个字大全参考淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化