利用反射机制读取properties文件

AC_YE 2021-02-14 10:50:07
利用反射机制可以读取到properties文件当中的value 可以照常输出“MySql”字符串,利用className保存这个字符串然后放到Class.forName(className)这样运行报错,
...全文
341 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
先创建一个MySql的类,在配置文件中MySql不需要添加双引号
冰思雨 2021-03-04
  • 打赏
  • 举报
回复
报这个异常,很正常啊。 楼主的项目里面有”MySql“这个类吗? Class#forName(String)函数的参数,要求的是类的全路径名。就是那种用点分割的类名,或者说是,带有包路径的类名。 你别告诉我,项目里面有一个名叫”MySql”的类,但是,你没有把包名填到前面哈。
qybao 2021-02-15
  • 打赏
  • 举报
回复
“MySql”的双引号去掉 另外,最好是带上包路径,xxx.yyy.zzz.MySql 这样的形式,否则类重名也会发生错误
  • 打赏
  • 举报
回复
properties文件的value的英文双引号去掉
Java高级程序设计 第3章 Java反射机制 3.1 应用场景 3.2 相关知识3.3 实施过程 3.4 拓展知识3.5 拓展训练 3.6 课后小结3.7 课后习题 3.8 上机实训 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第1页。 3.1 应用场景 在一些开源框架里,如Spring,Struts,Hibernate,MyBatis等,应用程序会提供一个配置文件如xml文件或者properties,然后在Java类里面解析xml或properties里面的内容,得到一个字符串,然后用反射机制,根据这个字符串获得某个类的Class实例,这样就可以动态配置一些东西,不用每一次都要在代码里面去new或者做其他的事情,以后要改的话直接改配置文件,代码维护起来就很方便了,同时有时候要适应某些需求,Java类里面不一定能直接调用另外的方法,这时候也可以通过反射机制来实现。 应用程序通过读取配置文件来获取到指定名称的类的字节码文件并加载其中的内容进行调用,对一个类文件进行解剖,就可以取得任意一个已知名称的class的内部信息,包括其modifiers(诸如public,static等等)、superclass(例如Object)、实现之interfaces(例如Serializable),也包括fields和methods的所有信息,并可于运行时改变fields内容或调用methods。 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第2页。 3.2 相关知识 3.2.1 Java反射机制的概念 3.2.2 反射机制的功能 3.2.3 Java反射机制的相关API 3.2.4 使用反射机制的步骤 3.2.5 反射机制的应用场景 3.2.6 反射机制的优缺点 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第3页。 3.2.1 Java反射机制的概念 Java反射机制在Java运行状态中,对于任意一个类,我们都能够知道这个类的所有属性和方法;, 对于任意一个对象,我们都能够调用它的任意一个方法;。 这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第4页。 3.2.2 反射机制的功能 反射机制的功能如下: 在运行时判定任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判定任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法; 生成动态代理;。 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第5页。 3.2.3 Java反射机制的相关API java.lang.reflect包提供了用于获取类和对象的反射信息的类和接口。反射API允许对程序访问有关加载类的字段,方法和构造函数的信息进行编程访问。它允许在安全限制内使用反射的字段,方法和构造函数对其底层对等进行操作。 java.lang.Class; //类 java.lang.reflect.Constructor;//构造方法 java.lang.reflect.Field; //类的成员变量 java.lang.reflect.Method;//类的方法 java.lang.reflect.Modifier;//访问权限 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第6页。 3.2.4 使用反射机制的步骤 导入Jjava.lang.relfect 包需 遵循以下3三个步骤: 第一步是获得你想操作的类的 java.lang.Class 对象; 第二步是调用诸如 getDeclaredMethods 的方法; 第三步使用 反射API 来操作这些信息。 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第7页。 3.2.5 反射机制的应用场景 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,常见的应用如下 逆向代码 ,例如反编译 与注解相结合的框架 例如Retrofit 单纯的反射机制应用框架 例如EventBus 2.x 动态生成类框架 例如Gson Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第8页。 3.2.6 反射机制的优缺点 可以实现动态创建对象和编译,体现出很大的灵活性(特别是在J2EE的开发中它的灵活性就表现的十分明显)。通过反射机制我们可以获得类的各种内容,进行了反编译。对于JAVA这种先编译再运行的语言来说,反射机制可以使代码更加灵活,更加容易实现面向对象,总结如下。 优点:运行期类型的判断,

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧