zoukankan      html  css  js  c++  java
  • java properties类读取配置文件

    1.JAVA Properties类,在java.util包里,具体类是java.util.properties。
    Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。
    2.properties类是集合类,里面要填充keyvalue键值对。将.properties文件里的信息加载到properties对象中。
    3.将.properties文件里的信息加载到properties对象中。
    .Properties中的主要方法

    (1)读取数据岛properties对象总,load(InputStream inStream)

      这个方法可以从.properties属性文件对应的文件输入流中,加载属性列表到Properties类对象。如下面的代码:

    Properties pro = new Properties();
    FileInputStream in = new FileInputStream("a.properties");
    pro.load(in);
    in.close();
    4.还可以将properties对象里保存的信息输出到文件中。用properties的store方法
    (2)store(OutputStream out, String comments)

      这个方法将Properties类对象的属性列表保存到输出流中。如下面的代码:

    FileOutputStream oFile = new FileOutputStream(file, "a.properties");
    pro.store(oFile, "Comment");
    oFile.close();

      如果comments不为空,保存后的属性文件第一行会是#comments,表示注释信息;如果为空则没有注释信息。

      注释信息后面是属性文件的当前保存时间信息。
    (3)将properties对象中的数据保存到xml文件,用properties的storeToXml()方法。


    4.Spring是怎样读取配置文件的?
    在java web项目中,我们经常将一些系统配置参数,数据库用户名密码,编码格式,等保存到xml或者properties文件中。然后spring启动时候,通过${}dolllar符去读取这些配置文件里的数据,依赖注入到bean中,比如数据库连接池bean的生成。
    spring框架有个PropertyPlaceholderConfigurer类,它就是专门用来读取配置文件的,类路径是org.springframework.beans.factory.config.PropertyPlaceholderConfigurer。
    那么我们如何在spring读取properties文件呢。

    1.首先。我们要先在spring配置文件中。定义一个专门读取properties文件的类.
    例:
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
    <list>
    <value>classpath:jdbc.properties</value>
    <!--要是有多个配置文件,只需在这里继续添加即可 -->
    </list>
    </property>
    </bean>

    这里为什么用locations(还有一个location)
    是因为。一般来说。我们的项目里面。配置文件可能存在多个。
    就算是只有一个。那将来新添加的话。只需在下面再加一个value标签即可。
    而不必再重新改动太多。(当然。性能上是否有影响,这个以当前这种服务器的配置来说。是基科可以忽略不计的)。

    然后我们就可以在jdbc.properties文件中填写具体的配置信息了。

    <!-- 配置C3P0数据源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass">
    <value>${jdbc.driverClassName}</value>
    </property>
    <property name="jdbcUrl">
    <value>${jdbc.url}</value>
    </property>
    <property name="user">
    <value>${jdbc.username}</value>
    </property>
    <property name="password">
    <value>${jdbc.password}</value>
    </property>
    </bean>

    jdbc.properties文件写的信息。

    jdbc.driverClassName=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/test
    jdbc.username=root
    jdbc.password=root

  • 相关阅读:
    面向对象-------------------------------面向对象的零散小知识
    面向对象------------------------------反射(面向对象的又一个思路)
    面向对象-------------------------对象和类的属性
    面向对象------------------一些双下方法
    装饰器搞一下
    字符串切片取值规则
    On The Way—Step 2 Python入门之Python内容初始
    socket对于recv函数的理解
    Socket通信原理学习
    [SUCTF 2019]Pythonginx
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6430406.html
Copyright © 2011-2022 走看看