精华内容
下载资源
问答
  • Java读取XML配置文件

    2021-02-12 15:30:12
    最初的想法是不把mysql的连接参数写到程序中,因为每次要修改参数总是...本文中使用dom4j读取xml文件XMLReader类import java.io.File;import java.util.Iterator;import org.dom4j.Document;import org.dom4j.Eleme...

    最初的想法是不把mysql的连接参数写到程序中,因为每次要修改参数总是很麻烦,于是想找到一种能够方便修改的方式,后来就找到了通过XML文件存储程序参数的方法。本文中使用dom4j读取xml文件

    XMLReader类

    import java.io.File;

    import java.util.Iterator;

    import org.dom4j.Document;

    import org.dom4j.Element;

    import org.dom4j.io.SAXReader;

    /**

    *

    * @author Martin3000

    *

    */

    public class XMLReader {

    // 配置文件名

    private static String filename = "conf.xml";

    private static Config config;

    /**

    * 从配置文件中读取参数并保存到Config类中,

    * 很多时候程序中会多次使用到配置中的参数,

    * 于是设置成静态方法,读取一次后就一直保存其中的参数,

    * 不再反复读取

    *

    * @return

    */

    public static Config loadconfig() {

    if (config == null)

    config = getconfig();

    return config;

    }

    private static Config getconfig() {

    Config config = new Config();

    try {

    File f = new File(filename);

    if (!f.exists()) {

    System.out.println(" Error : Config file doesn't exist!");

    System.exit(1);

    }

    SAXReader reader = new SAXReader();

    Document doc;

    doc = reader.read(f);

    Element root = doc.getRootElement();

    Element data;

    Iterator> itr = root.elementIterator("VALUE");

    data = (Element) itr.next();

    config.server = data.elementText("server").trim();

    config.user = data.elementText("user").trim();

    config.pass = data.elementText("pass").trim();

    config.port = data.elementText("port").trim();

    config.dbname = data.elementText("dbname").trim();

    } catch (Exception ex) {

    System.out.println("Error : " + ex.toString());

    }

    return config;

    }

    }

    Config类

    读取文件中的配置到Config类中,这里主要是Mysql的连接配置

    /**

    *

    * @author Marin3000

    *

    */

    public class Config {

    public String server;

    public String user;

    public String pass;

    public String port;

    public String dbname;

    public String getConnString() {

    String connString = "jdbc:mysql://" + server + ":" + port + "/"

    + dbname + "?user=" + user + "&password=" + pass

    + "&useUnicode=true&characterEncoding=UTF-8";

    return connString;

    }

    }

    XML文格式(conf.xml)

    127.0.0.1

    users

    root

    pass

    3306

    好了 再也不会有在源程序里修改配置的烦恼了,附件里有dom4j的jar包下载

    下载次数: 149

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2011-12-26 15:03

    浏览 17549

    评论

    2 楼

    iyuki0430

    2012-12-26

    哥们,想请教下你,这么写虽然方便,但是会有安全方面问题吧,帐号密码都可见了啊.

    1 楼

    漫步邃思

    2012-03-05

    现在正在研究呢,很有帮助啊

    38687d1a1ad71d37c86f287056834d1a.gif

    展开全文
  • 文件名:DBhelper.javapackage ...import java.io.File;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.util.Iterator;import java.util.Properties;import org...

    文件名:DBhelper.java

    package com.db;

    import java.io.File;

    import java.io.InputStream;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.util.Iterator;

    import java.util.Properties;

    import org.dom4j.Document;

    import org.dom4j.Element;

    import org.dom4j.io.SAXReader;

    /*

    JDBC 连接数据库工具类

    XML配置文件连接数据库

    */

    /**

    这个程序可以连接MySQL,Oracle,SQLServer数据库

    当你需要连接MySQL数据库时,只需要修改配置文件db.xml,把

    Oracle,SQLServer用注释了,即可进行连接MySQL,其他两种数据库相同。

    */

    public class DBhelper {

    //类的静态变量

    private static String driver;

    private static String url;

    private static String username;

    private static String password;

    //创建一个私有的实例变量

    private static Connection conn=null;

    //负责加载驱动

    //静态代码块在构造方法之前执行,仅仅执行一次,通常做类的初始化工作

    //构造方法通常做对象的初始化工作,比如初始化对象的属性

    static{

    try{

    //加载db.xml属性文档

    //使用Java xml解析技术去解析xml文档,dom/sax/dom4j/jdom

    //创建SAXReader的对象reader

    SAXReader reader=new SAXReader();

    //通过reader对象的read方法加载db.xml文件,获取document对象

    Document document=reader.read(new File("src/db.xml"));

    //通过document对象获取根节点connection

    Element connection=document.getRootElement();

    //通过element对象的elementIterator方法获取迭代器

    Iterator it=connection.elementIterator();

    //遍历迭代器,获取根节点中的信息

    while(it.hasNext())

    {

    Element element=(Element)it.next();

    String elementName=element.getName();

    switch(elementName)

    {

    case "driver":

    driver=element.getStringValue();

    break;

    case "url":

    url=element.getStringValue();

    break;

    case "username":

    username=element.getStringValue();

    break;

    case "password":

    password=element.getStringValue();

    break;

    }

    }

    //加载驱动

    Class.forName(driver);

    }catch(Exception e){

    e.printStackTrace();

    }

    }

    //构造方法私有化,处理本类之外,其他任何类都不能创建这个类的对象

    private DBhelper()

    {

    }

    //获得数据库的连接对象。

    public static Connection getConnection() throws Exception{

    if(conn!=null) //说明conn已经实例化过

    {

    return conn;

    }else{

    conn=DriverManager.getConnection(url,username,password);

    return conn;

    }

    }

    }

    测试文件名:Test.java

    package com.test;

    import java.sql.Connection;

    import com.db.DBhelper;

    public class Test {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    try{

    Connection conn1=DBhelper.getConnection();

    Connection conn2=DBhelper.getConnection();

    if(conn1!=null)

    {

    System.out.println("数据库连接成功");

    }

    System.out.println(conn1==conn2);

    }

    catch(Exception e)

    {

    e.printStackTrace();

    }

    }

    }

    XML配置文件名:db.xml

    oracle.jdbc.driver.OracleDriver

    jdbc:oracle:thin:@localhost:1521:orcl

    scott

    tiger

    导入的架包:

    dom4j-1.6.1.jar

    mysql-connector-java-5.1.7-bin.jar

    ojdbc6.jar

    sqljdbc4.jar

    5ec958ab3db2db0531978c274f9ab5ac.png

    展开全文
  • 原标题:java读取配置文件的几种方法 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会...读取xml配置文件(一)新建一个java bean(HelloBean.java)java 代码package chb.demo.vo;public class HelloBe...

    原标题:java读取配置文件的几种方法

    efb1039f75ece55586b4eab23c13cc60.png

    在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。

    一.读取xml配置文件

    (一)新建一个java bean(HelloBean.java)

    java 代码

    package chb.demo.vo;

    public class HelloBean {

    private String helloWorld;

    public String getHelloWorld() {

    return helloWorld;

    }

    public void setHelloWorld(String helloWorld) {

    this.helloWorld = helloWorld;

    }

    }

    (二)构造一个配置文件(beanConfig.xml)

    xml 代码

    !----xml version=1.0 encoding=UTF-8?

    !----

    beans

    bean id=helloBean class=chb.demo.vo.HelloBean

    property name=helloWorld

    valueHello!chb!value

    property

    bean

    beans

    (三)读取xml文件

    1.利用ClassPathXmlApplicationContext

    java 代码

    ApplicationContext context = new ClassPathXmlApplicationContext(beanConfig.xml);

    HelloBean helloBean = (HelloBean)context.getBean(helloBean);

    System.out.println(helloBean.getHelloWorld());

    2.利用FileSystemResource读取

    java 代码

    Resource rs = new FileSystemResource(D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml);

    BeanFactory factory = new XmlBeanFactory(rs);

    HelloBean helloBean = (HelloBean)factory.getBean(helloBean);\

    System.out.println(helloBean.getHelloWorld());

    值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常

    二.读取properties配置文件

    这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取

    (一)利用spring读取properties 文件

    我们还利用上面的HelloBean.java文件,构造如下beanConfig.properties文件:

    properties 代码

    helloBean.class=chb.demo.vo.HelloBean

    helloBean.helloWorld=Hello!chb!

    属性文件中的helloBean名称即是Bean的别名设定,.class用于指定类来源。

    然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件

    java 代码

    BeanDefinitionRegistry reg = new DefaultListableBeanFactory();

    PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);

    reader.loadBeanDefinitions(new ClassPathResource(beanConfig.properties));

    BeanFactory factory = (BeanFactory)reg;

    HelloBean helloBean = (HelloBean)factory.getBean(helloBean);

    System.out.println(helloBean.getHelloWorld());

    (二)利用java.util.Properties读取属性文件

    比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:

    properties 代码

    ip=192.168.0.1

    port=8080

    则,我们可以用如下程序来获得服务器配置信息:

    java 代码

    InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(ipConfig.properties);

    Properties p = new Properties();

    try {

    p.load(inputStream);

    } catch (IOException e1) {

    e1.printStackTrace();

    }

    System.out.println(ip:+p.getProperty(ip)+,port:+p.getProperty(port));

    本文只介绍了一些简单操作,不当之处希望大家多多指教返回搜狐,查看更多

    责任编辑:

    展开全文
  • \quad在项目中,常常使用配置文件配置文件类别大都分为三种:xml、properties和yml。接下来我们一一解析这三种文件在java中如何读取。 一、读取xml文件 \quad我们可以借助dom4j进行解析,先点击此处下载该jar包,...

    \quad 在项目中,常常使用配置文件,配置文件类别大都分为三种:xml、properties和yml。接下来我们一一解析这三种文件在java中如何读取。

    一、读取xml文件

    \quad 我们可以借助dom4j进行解析,先点击此处下载该jar包,将包导入工程中去。我们新建一个class.xml文件,内容如下:

    <class name="uestc">
        <student>
            <name>张三</name>
            <age>12</age>
            <gender></gender>
        </student>
        <student>
            <name>李四</name>
            <age>13</age>
            <gender></gender>
        </student>
        <student>
            <name>王五</name>
            <age>14</age>
            <gender></gender>
        </student>
    </class>
    

    \quad 读取程序如下:

    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    import java.util.List;
    
    public class Test {
        public static void main(String[] args) throws Exception{
            SAXReader reader = new SAXReader();
            Document document = reader.read(Test.class.getClassLoader().getResourceAsStream("class.xml"));
            Element root = document.getRootElement();
            System.out.println(root.getName());  // class
            System.out.println(root.attribute("name").getValue()); // name属性为uestc
    
            List<Element> elements = root.elements();
            for (Element element : elements) {
                List<Element> stuElement = element.elements();
                for (Element attr : stuElement) {
                    System.out.println(attr.getName() + ":" + attr.getData());
                }
                System.out.println("-------------------------");
            }
        }
    }
    

    \quad 结果如下:

    class
    uestc
    name:张三
    age:12
    gender:-------------------------
    name:李四
    age:13
    gender:-------------------------
    name:王五
    age:14
    gender:-------------------------
    

    二、读取properties文件

    \quad properties文件写入格式为key=value这样的键值对,因此java.util中给我们提供了读取properties的类Properties,可以直接得到一个写入键值对的HashMap

    • 新建class.properties文件,内容如下:
    host=localhost
    port=3306
    
    • 用法示例如下:
    package properties;
    
    import java.util.Properties;
    
    public class Test {
        public static void main(String[] args) throws Exception{
            Properties properties = new Properties();
            properties.load(Test.class.getClassLoader().getResourceAsStream("class.properties"));
            System.out.println(properties.getProperty("host"));  // localhost
            System.out.println(properties.getProperty("port"));  // 3306
    
            properties.setProperty("username", "root");  // 设置键值对
            System.out.println(properties);  // {port=3306, host=localhost, username=root}
        }
    }
    
    展开全文
  • Spring的配置文件是用于指导Spring工厂进行Bean生成、依赖关系注入及Bean示例分发的”图纸”,他是一个或多个标砖的XML文档,J2EE程序员必须学会灵活应用这份”图纸”,准确的表达自己的”生成意图”。Spring配置文件...
  • 但是要修改jar包中的配置文件怎么办呢? 方式一通过vim命令直接修改保存jar。超方便。 1.通过vim命令直接编辑jar vim xxx.jar 该命令首先会列出全部文件,可以通过输入/abc来搜索,定位到对应的abc文件后回车进入...
  • 我正在尝试使用嵌入在我的Java应用程序中的Log4j2的XML配置文件,但是不起作用.代码:ConfigurationSource source = new ConfigurationSource(Main.class.getResourceAsStream("/in/gunbound/prelauncher/server/log4...
  • 代码:Document document = load(F:\xml\task\Task1.xml);Node root=document.getDocumentElement();/** 如果root有子元素 */if(root.hasChildNodes()){/** ftpnodes */NodeList ftpnodes = root.getChildNodes();/*...
  • java配置文件作用

    2021-03-13 01:40:46
    注解的作用: 1、生成文档。这是最常见的,也是 java 最早提供的注解。...关于a.class如何读取jar内或jar外的配置文件, 如下所示: Java代码 FileInputStream inputStream1 = new FileInputStream("out.prope...
  • 从文档:Upon initialization of a DispatcherServlet, Spring MVC looks for afile named [servlet-name]-servlet.xml in the WEB-INF directory of yourweb application and creates the beans defined there, ...
  • list=new ArrayList (); list.add(new UserInfo(1001,"大东","123456",1,new Roles(1,"CEO")));... XMLWriter writer=new XMLWriter(out,format); writer.write(doc); out.close(); writer.close(); } } }
  • 本文实例讲述了java生成xml格式文件的方法。分享给大家供大家参考,具体如下:这里演示利用Java生成xml格式文件Demo中所用到的jar包Jdom.jar。为了方便理解,我写了个Demoimport java.io.FileOutputStream;import ...
  • java里加载解析xml,取数据库相关信息,链接数据库,拼接sql,我这里用jdbc链接,查询表数据,并返回。下面我列出主要的代码供参考,具体解析xml可以通过多种方法,这里就不列了。new oracle.jdbc.driver.Oracle...
  • java读取jar外部的配置文件

    千次阅读 2021-02-25 19:55:05
    java应用中经常会用到配置文件配置文件中定义了程序运行所需要的一些配置信息,而配置文件既以放在java project内部(在给java project打jar包时将配置文件打在jar包内部),也可以放在java project外部。...
  • Java 中什么是配置文件Java中的配置文件名称一般都以“.properties”和“.xml”进行结尾,这些配置文件的结构都和Java的HashMap结构是一样的,其作用是通过修改配置文件来实现代码中的参数的更改,从而实现灵活变更...
  • spring项目只能识别到项目内的xml配置文件,无法识别jar中xml配置文件解决思路:在启动初始化期间,将jar包内部的文件拷贝到jar包外部相对路径中。//jarFullFileName:thefilenamewithfullpathinjar.//newFilePath:...
  • java配置文件是什么

    2021-02-12 17:41:54
    java配置文件是什么发布时间:2020-06-01 17:21:28来源:亿速云阅读:179作者:鸽子Java中的配置文件名称一般都以“.properties”和“.xml”进行结尾,这些配置文件的结构都和Java的HashMap结构是一样的,其作用是...
  • 第一步,进到 spring仓库下载一个spring包,大家前往官网下载的时候,记得下载dist.zip后缀的包,里面包括了jar包和对应的英文文档。 下面是自己已经下载的一个,... } } 下面是spring.xml配置文件的内容 xmlns:xsi=...
  • 1.利用ClassPathXmlApplicationContext,这种方式配置文件应该放在类包同路径下Java代码:ApplicationContext ct=newClassPathXmlApplicationContext("applicationContext01.xml");ct.getBean("");图12.利用...
  • pom.xml 配置文件

    2021-01-28 14:18:46
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ...boot-starter-data-jpa mysql mysql-connector-java org.springframework.boot spring-boot-maven-plugin
  • 无论是在Windows还是Linux操作系统下,绝对... 相对路径:相对于目前路径的文件命令行运行jar包,如何使用与jar包在同一个目录的配置文件。其实就是当前的工作目录问题。在eclipse中:在编写《资料收集库》的网页...
  • xml配置文件显示为文本文件问题

    万次阅读 2021-01-04 15:17:29
    idea 新建的xml文件显示为文本问题 原因: 由于新建不带后缀名的文件的时候 idea会相对智能的让你选择 文件规则 解决: settings->File types 中找到对应的文件类型显示 ,把 你不小心添加的 正则 给去除就好了, ...
  • 那我们如何去配置xml的资源呢?感兴趣的可以去看下源码,他其实找的就是与class路径相同的XML,我这里是写在resource中,所以文件夹的名字要与Mapper接口的包名一致才可以,当然也可以将xml放到与Mapper接口同级下。...
  • 网上各种解决方案,我试了好久,整合了几篇文章才凑出来,在这里...亲自试验:1) 我的mapper和xml是这样子放置的2) 在.xml中namespace是这样的:3) application.properties中mybatis.mapper-locations得这么配置到...
  • MyBatis 配置文件基本结构在使用mybatis框架时,首先导入其对应的jar包,并进行相应的配置,所以得对配置文件的每个参数都得了解。一个完全的mybatis配置文件结构如下:/p>PUBLIC "-//mybatis.org//DTD Config ...
  • Java-常用配置一,环境变量path配置二,配置文件配置文件下载官网地址SpringBoot配置文件(KEY-VALUE结构)端口、路径配置:数据源(DataSource)配置hikari 数据连接池配置:Mybatis-plus配置日志(sql)打印配置...
  • include:用于加载提取公共的sql语句,与标签对应 refid:填写标签中的id属性 resultMap属性:与resultMap标签一起使用,填写resultMap标签中定义的id属性 selectKey配置主键信息的标签 keyColumn:对应数据库表中的...
  • 一、普通方法获取配置文件值import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import java.util....
  • DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截...但是,我们在搭建SpringMVC框架时,往往总是把DispatcherServlet的配置文件放错位置。网上有的说:springDispatcherServle...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,097,525
精华内容 439,010
关键字:

java的xml配置文件

java 订阅