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. MySQL IO线程及相关参数调优

    一.关于一个SQL的简单的工作过程 1.工作前提描述 1.启动MySQL,在内存中分配一个大空间innodb_buffer_pool(其中log_buffer) 2.多用户线程连接MySQL,从内存分 ...

  2. 常用http响应报文分析

    这是我在使用Asp.Net的时候,整理的的一些关于Http响应报文的分析笔记,零零散散的记录, 现在贴出来,抛砖引玉,如果有什么不对或者不严谨的地方,请各位大神不吝赐教. 一.HTTP响应码响应码由三 ...

  3. Android - service and thread

    服务(Service)是Android中实现后台程序运行的方案.适合执行那些不需要和用户交互并长期执行的任务. 服务并非运行在一个独立的进程中,而是依赖于创建服务时所在的应用程序.当某个应用程序进程被 ...

  4. shell统计文本中单词的出现次数

    Ubuntu14.04 给定一个文本,统计其中单词出现的次数 方法1 # solution 1 grep与awk配合使用,写成一个sh脚本 fre.sh sh fre.sh wordfretest.t ...

  5. Java - 初始化

    用构造器保证初始化 构造器名称必须与类名完全相同,所以“每个方法首字母必须小写”的风格不适合构造器. 不接受任何参数的构造器叫做默认构造器.Java文档中通常叫做无参构造器. 构造器没有返回值,但与返 ...

  6. JDBC之组件封装

    本文所需架包:mysql-connector-java-5.1.7-bin.jar(连接MySQL数据库需要),ojdbc6.jar(连接Oracle数据库需要) 1.JDBC工具类(JDBCUtil ...

  7. 初始jvm(一)---jvm内存区域与溢出

    jvm内存区域与溢出 为什么学习jvm 木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握. 当一个系统出现内存溢出,内存泄露的时候,因为你懂jv ...

  8. 从零开始打jar包

    经常会头疼于一个jar包是如何制作的,包括maven的打包方式,springboot的打jar包的原理,jar包稍稍有错误就会完全无法运行.在网上折腾了很久终于有些思路和步骤,在这里做个笔记 本文大纲 ...

  9. PHP中通过sqlsrv调用存储过程——成绩排名去除重复字段的数据行

    培训考试项目中,需要实现考试成绩排名:排名参考项为分数(score降序).参加日期(attendtime升序).第几次参加考试(frequency升序):并且,每个用户只保留一条数据(pid). 考试 ...

  10. ubuntu下升级网卡驱动

    ubuntu下升级网卡驱动 无线局域网环境下,有个笔记本儿的无线经常断,而其它的终端都好好的,唯独它不行.所以想到检查和更新下无线网卡的驱动看看.以下是操作流程,记录一下. 阅读说明:##为标签, / ...