@

总结内容

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. 矩池云上使用nohup和&让任务后台运行

    1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg - ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup ...

  2. linux作业--第十二周

    1.主从复制及主主复制的实现 2.xtrabackup实现全量+增量+binlog恢复库 3.MyCAT实现MySQL读写分离 4.ansible常用模块介绍

  3. PHP读取.cer文件解析公钥证书.pfx证书

    php读取.cer文件 $certificateCAcerContent = file_get_contents($filePath); $certificateCApemContent = '--- ...

  4. ASP.NET Core框架探索之Authentication

    今天我们来探索一下ASP.NET Core中关于权限认证,所谓权限认证,就是通过某些方式获取到用户的信息. 需要开启权限认证,我们首先需要在容器中注入认证服务,使用services.AddAuthen ...

  5. springboot Redistemplate的execute和 executePipelined

    springboot 的 RedisTemplate 的 execute 和 executePipelined 功能的区别 1.execute 以下是 springboot 官网原文: Redis p ...

  6. 空顺序表的实现(基于c语言)

    书中对于创建一个空线性表的定义如下: struct SeqList{ int MAXNUM; // 顺序表中最大元素的个数(也就是最多多少个元素),(其实MAXNUM也可以定义在外面) int n; ...

  7. Spring AOP调用本类方法为什么没有生效

    首先请思考一下以下代码执行的结果: LogAop.java //声明一个AOP拦截service包下的所有方法@Aspectpublic class LogAop { @Around("ex ...

  8. ZYNQ SGI、PPI、SPI三种中断的实例(含代码)

    ZYNQ中断分为3类: SGI(Software Generated Interrupts)软件中断 PPI(Private Peripheral Interrupts)私有外设中断 SPI(Shar ...

  9. web服务器-Nginx下载限速

    web服务器-Nginx下载限速 一. 限速介绍 在生产环境中,为了保护WEB服务器的安全,我们都会对用户的访问做出一些限制,保证服务器的安全及资源的合理分配. 限流(rate limiting)是N ...

  10. [XCTF嘉年华体验赛](web)web2 assert函数

    0x00 题目分析 浏览一遍页面,在about页面,获得如下信息 访问 .git/ ,页面存在. 使用githack扒下来.得到源码,进行代码审计. 分析得到: 1.flag在flag页面,要看源码才 ...