@

总结内容

1. Java中为什么要使用配置文件

为了减少代码的耦合性,以及便于后期维护,在开发中我们经常需要修改以前的数据,如果去改变代码容易出现一些错误,而有了配置文件我们就可以直接修改配置文件就好了,这样降低了代码之间的耦合性,同时也方便后期维护。

2. Java中常用的配置文件类型有哪些以及它们的特点

1)Java中常用的配置文件类型有 Properties 和 XML 配置文件。

Properties配置文件

  • 存储数据特点:

    1)使用键值对(key=value)格式,多对数据使用换行分开。
  • 使用注意事项:

    1)配置文件需要跟随着字节码走.需要放在 Resource Root 中. 会直接编译到字节码输出路径

    2)在配置文件中,所有的数据都是字符串,不需要使用引号

    3)在配置文件中不需要使用空格
  • 解析properties配置文件
public class PropertiesTest {
public static void main(String[] args) throws IOException {
// 读取配置文件中的数据
// Properties pt = new Properties(); // 解决路径写死问题,使用相对路径
// 相对于字节码的输出根路径,使用 ClassLoader 对象来获取字节码输出路径下的文件
// 为了获取 ClassLoad 对象,跟 Thread 没有关系 InputStream in = Thread.currentThread(). // 当前线程
getContextClassLoader(). // 获取类加载器
getResourceAsStream("jdbc.properties"); // 加载配置文件
Properties pt = new Properties();
pt.load(in);
String username = pt.getProperty("jdbc.username");
String password = pt.getProperty("jdbc.password");
System.out.println("username = " + username);
System.out.println("password = " + password);
}
}

XML配置文件

  • 存储数据特点:

    1)xml是一种可扩展的标记语言

  • 使用注意事项:

    1)名称可以含字母、数字以及其他的字符

    2)名称不能以数字或者标点符号开始

    3)名称不能以字符 “xml”(或者 XML、Xml)开始

    4)名称不能包含空格

    5)属性的名称没有要求

    6)属性的值需要用引号引起来

  • 使用xml配置文件的好处

    1)xml能存储小量数据,仅仅是存储数据。

    2)xml可以跨平台,主流各种平台都对xml有支持, 真正的跨平台,

    3)xml读取速度快。

    4)xml规范性非常强,这样就可以更好的去解释文件内的信息。

    5)xml 是各种应用程序之间进行数据传输的最常用的工具。

    6)xml 不适合动态语言但非常适合强类型的语言。java 处理 xml 更容易。

    7)xml从属关系严密。

    8)xml非常适合用与描述数据,关系数据库都对xml进行支持。

  • Document常用API

    1)document.getElementById('元素的ID') 在整个文档中,通过元素的ID获取到这个元素对象(获取的是一个元素)

    注意: 如果页面中的id重复了,那么这个方法默认只获得第一个元素

    2)通过元素的标签名,来获取一组元素(有几个获取几个)

      document.getElementsByTagName('元素的标签名') 在整个文档中,通过元素的标签名获取一组元素。获取的是一个对象数据类型结果,并且是一个类数组(以数字

      作为索引,索引从0开始,逐级递增,索引代表的是当前对应的某一个元素,有一个叫做length的属性代表获取的个数)

    3)document.getELementsByClassName('xxx'):这个跟上面一个类似,返回的也是数组,但是需要注意的是,它会返回所有包含xxx或者只有xxx的标签的数组。

  • 解析XML配置文件

public class XMLTest {
public static void main(String[] args) throws ParserConfigurationException, IOException, SAXException {
// 1、获取当前文档对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("resources/user.xml");
// 2、获取根元素
Element root = document.getDocumentElement();
// 3、获取第二个 linkman 元素
// Element linkmanEl = (Element) root.getElementsByTagName("classname").item(0);
Element linkmanEl = (Element) root.getElementsByTagName("linkman").item(1);
// 4、获取第二个 linkman 元素下的 name 元素
Element nameEl = (Element) linkmanEl.getElementsByTagName("name").item(0);
// 5、获取文本内容
String content = nameEl.getTextContent();
System.out.println(content);
}
}

总结

以上就是对配置文件的总结了,代码仅供参考,欢迎讨论交流。

properties和XML配置文件内容的获取的更多相关文章

  1. .NET 获得指定XML配置文件内容

    /// <summary> /// 获得指定XML文件内容 /// </summary> /// <param name="strPath">X ...

  2. hibernate.hbm.xml配置文件内容说明

    下面是一个自动生成的配置文件: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PU ...

  3. pom.xml配置文件内容记录

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  4. Spring框架xml配置文件 复杂类型属性注入——数组 list map properties DI dependency injection 依赖注入——属性值的注入依赖于建立的对象(堆空间)

    Person类中的各种属性写法如下: package com.swift.person; import java.util.Arrays; import java.util.List; import ...

  5. Java中读取 .properties 和 .xml 文件

    配置文件内容获取 总结内容 1. Java中为什么要使用配置文件 2. Java中常用的配置文件类型有哪些以及它们的特点 Properties配置文件 XML配置文件 总结 总结内容 1. Java中 ...

  6. Mybatis 源码分析--Configuration.xml配置文件加载到内存

    (补充知识点: 1 byte(字节)=8 bit(位) 通常一个标准英文字母占一个字节位置,一个标准汉字占两个字节位置:字符的例子有:字母.数字系统或标点符号) 1.创建SqlSessionFacto ...

  7. 03SpringMvc_自定义的spring.xml配置文件和逻辑视图名

    这篇文章的目的是实现Struts2中一种形式(封装视图的逻辑名称),在Struts2中Action处理后会返回"SUCCESS"这样,然后根据"SUCCESS" ...

  8. 获取 *.properties配置文件内容

    package com.loan.modules.common.util; import java.util.ResourceBundle; /** * 获取 *.properties配置文件内容 * ...

  9. 读取properties和xml中配置文件的值

    五种方式让你在java中读取properties文件内容不再是难题 在java中读取properties和xml文件中的方法:https://www.cnblogs.com/ConfidentLiu/ ...

随机推荐

  1. 面试题详解:如何用Redis实现分布式锁?

    说一道常见面试题: 使用Redis分布式锁的详细方案是什么? 一个很简单的答案就是去使用 Redission 客户端.Redission 中的锁方案就是 Redis 分布式锁的比较完美的详细方案. 那 ...

  2. np.vectorize()和crosstab()和pivotTab()函数解释

    numpy.vectorize(pyfunc, otypes=None, doc=None, excluded=None, cache=False, signature=None) Parameter ...

  3. 【elasticsearch】搜索过程详解

    elasticsearch 搜索过程详解 本文基于elasticsearch8.1.在es搜索中,经常会使用索引+星号,采用时间戳来进行搜索,比如aaaa-*在es中是怎么处理这类请求的呢?是对匹配的 ...

  4. Java案例——学生管理系统

    简单完整的学生管理系统 学生类 public class Student { private String id; private String age; private String name; p ...

  5. c++-投骰子

    #include<iostream>#include<cstdlib>//产生随机数的函数using namespace std;enum GameStatus{WIN,LOS ...

  6. 使用systemd-analyze 工具来分析各个服务进程的启动性能

    systemd-analyze是一个分析启动性能的工具,用于分析启动时服务时间消耗.默认显示启动是内核和用户空间的消耗时间:使用systemd-analyze plot > boot.svg生成 ...

  7. 通过blacklist来禁用驱动

    blacklist黑名单 我们在linux中安装驱动,有时会遇到受限或冲突,通常解决方式都是要修改blacklist.conf.对内核模块来说,黑名单是指禁止某个模块装入的机制 在 /etc/modp ...

  8. sql注入之查询方式及报错注入

    当进行sql注入时,有很多注入会出无回显的情况,其中不回显的原因可能是sql语句查询方式的问题导致的,这个时候我们需要用到相关的报错或盲注进行后续操作,同时作为手工注入时,提前了解或预知器sqkl语句 ...

  9. Delaunay三角剖分及MATLAB实例

    https://blog.csdn.net/piaoxuezhong/article/details/68065170 一.原理部分 点集的三角剖分(Triangulation),对数值分析(如有限元 ...

  10. Vue中import和require的对比

    Vue中import和require的对比 一.前言 ​ vue框架想必是我们前端朋友们必学的知识点,说它难也没有那么难,说简单也没有那么简单,主要技术就是那么几个,可是里面的细节很多,有些时候我们会 ...