dbinfo.properties文件中的内容:    
driver oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@192.168.1.100:1521:bjpowernode
username:\u5f20\u4e09
password=tiger
 
dbinfo这样的文件我们称作配置文件,
配置的文件的作用就是:使程序更加灵活。
注意:一般在程序中可变的东西不要写死。推荐写到配置文件中。
运行同样的程序得到不同的结果。
像dbinfo这样一个具有特殊内容的配置文件我们又叫做:属性文件。
java规范中要求属性文件以“.properties”
 
    属性文件中数据要求:
        key和value之间可以使用“空格”,“冒号”,“等号”。
        如果“空格”,“等号”,“冒号”都有,按最前的作为分隔符。
 
IO+Properties例子:
    // 保存配置信息(也可以直接在文件中修改)
    static void saveProperties() throws IOException
    {
        Properties p = new Properties();
        // 设置属性
        p.setProperty("username", "admin");
        p.setProperty("password", "123456");
        p.setProperty("ip", "192.168.6.2");
        p.store(new FileWriter("e:\\niit\\settings.txt"), null);
    }
    
    // 读取配置信息
    static void readProperties() throws FileNotFoundException, IOException
    {
        Properties p = new Properties();
        p.load(new FileReader("e:\\niit\\settings.txt"));
        System.out.println(p.getProperty("username"));
        System.out.println(p.getProperty("password"));
        System.out.println(p.getProperty("ip"));

}

 
反射机制+IO+Properties联合应用,动态创建java对象:

        利用这样的方法可以实现构建动态的代码,即代码在运行时进行装配!使代码更加灵活!
        //1.创建属性对象
        Properties p = new Properties();
 
        //2.创建流
        FileReader fr = new FileReader("classInfo.properties");
 
        //3.加载
        p.load(fr);
 
        //4.关闭流
        fr.close();
 
        //通过key获取value
        String className = p.getProperty("className");
 
        //System.out.println(className);
 
        //通过反射机制创建对象
        Class c = Class.forName(className);
 
        //创建对象
        Object o = c.newInstance();
 
        System.out.println(o);
该配置文件如下,可以直接在外部修改value的值,产生达到不同效果的代码
classInfo.properties中的内容:
className=User
 
 
 
 

9.19.3 反射和Properties(重要)的更多相关文章

  1. Python【day 19】反射

    '''''' ''' 一.昨日内容回顾 1.依赖关系 1.弱关系.多态 1.松耦合 2.大象可以装冰箱,也可以装高压锅,就是多态 2.例子: 1.大象装冰箱 2.大象装高压锅 3.你打车 3.写法 大 ...

  2. 19.java反射入门

    一.反射机制是什么反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为jav ...

  3. 9.19.1 反射构造Class对象

    构造Class对象的三种方式:         第一种方式:                     (1)对于系统的类,必须写全名!                     (2)该方式会将.Cla ...

  4. 要使用myConfig.properties配置文件作为实体类的映射文件的话,格式要用=,最关键的要和实例类中通过反射获取值的KEY要一样,不样会反射取不到值

    ABC=https://fsdfsdf.iy.comABCId=L2345345ZhP345ABCKey=sfdf4234f234dhE6Ut0aABCName=Gassd010 上面是myConfi ...

  5. 反射 介绍System.Type类

    本节先介绍system.Type类,通过这个类可以访问关于任何数据类型的信息. 1. system.Type类以前把Type看作一个类,但它实际上是一个抽象的基类.只要实例化了一个Type对象,实际上 ...

  6. Jersey(1.19.1) - Hello World, Get started with a Web application

    1. Maven Dependency <properties> <jersey.version>1.19.1</jersey.version> </prop ...

  7. 【spring boot】SpringBoot初学(2) - properties配置和读取

    前言 只是简单的properties配置学习,修改部分"约定"改为自定义"配置".真正使用和遇到问题是在细看. 一.主要 核心只是demo中的: @Proper ...

  8. day26:静态方法,类方法和反射

    1,包内部不要去尝试应用使用相对导入,一定不会成功的,他不支持这个机制,包内导入时一定要用绝对导入 2,复习接口类,抽象类,Python中没有接口类,有抽象类,抽象类是通过abc模块中的metacla ...

  9. PHP反射学习总结

    反射(Reflection) PHP的反射机制提供了一套反射API,用来访问和使用类.方法.属性.参数和注释等,比如可以通过一个对象知道这个对象所属的类,这个类包含哪些方法,这些方法需要传入什么参数, ...

随机推荐

  1. Qt中使用CEF(Windows下)

    最近项目中要在Qt中使用CEF(Chromium Embedded Framework),在这里总结下其中的几个要点. 下载合适的CEF版本 关于CEF的简介我们这里就不做介绍了,下载CEF可以有2种 ...

  2. linux系统编程之文件IO

    1.打开文件的函数open,第一个参数表示文件路径名,第二个为打开标记,第三个为文件权限 代码: #include <sys/types.h> #include <sys/stat. ...

  3. tag上、push上和pull 取Docker 映像

    在此之前需要拥有一个docker Hub账户,注册地址:https://hub.docker.com/. Tag.Push Docker映像 使用docker images 获取当前拥有的映像列表,其 ...

  4. nyoj_83:迷宫寻宝(二)(计算几何)

    题目链接 枚举所有墙的2n个端点与宝物的位置作为一条线段(墙的端点必定与边界重合), 求出与之相交的最少线段数(判断线段相交时用跨立实验的方法),+1即为结果. #include<bits/st ...

  5. tensorflow 实现神经网络

    import tensorflow as tf import numpy as np # 添加层 def add_layer(inputs, in_size, out_size, activation ...

  6. linux的文件权限与目录配置<----->第二章

    1.Linux文件属性    [   1  ]                  [   2  ] [    3    ]  [    4    ]  [ 5 ]             [ 6 ] ...

  7. 内核对象kobject和sysfs(3)——kobj分析

    内核对象kobject和sysfs(3)--kobj分析 在分析kobj之前,先总结下kobj的功能: 实现结构的动态管理: 实现内核对象到sysfs的映射: 实现自定义属性的管理. 关注一下kobj ...

  8. Redis-位图法实现简单统计

    比如一个网站有1亿个用户, 现在要统计一周内连续登录的用户 方法: 可以用一个字节8个位表示7个人, 首位不算固定为0, 若某人周一登录则置为1, 没登录则为0 127.0.0.1:6379> ...

  9. Beautifulsoup和selenium的简单使用

    Beautifulsoup和selenium的简单使用 requests库的复习 好久没用requests了,因为一会儿要写个简单的爬虫,所以还是随便写一点复习下. import requests r ...

  10. github 上传下载代码简单使用

    很长时间,一直认为github很难操作,其实认真学了发现也不是很困难. 主要就3个命令 git clone 建立空间 git push 提交代码,git pull拉取代码. git clone htt ...