第六课 JAVA反射获取对象属性和方法(通过配置文件)

Posted 虚极静笃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六课 JAVA反射获取对象属性和方法(通过配置文件)相关的知识,希望对你有一定的参考价值。

Service1.java

package reflection;
 
public class Service1 {
 
    public void doService1(){
        System.out.println("业务方法1");
    }
}

Service2.java

package reflection;
 
public class Service2 {
 
    public void doService2(){
        System.out.println("业务方法1");
    }
}

spring.txt(D:\spring)

class=reflection.Service1
method=doService1

Test.java

package reflection;
 
import java.io.File;
import java.io.FileInputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.Properties;
 
public class Test {
 
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public static void main(String[] args) throws Exception {
 
        //从spring.txt中获取类名称和方法名称
        File springConfigFile = new File("d:\\spring.txt");
        Properties springConfig= new Properties();
        springConfig.load(new FileInputStream(springConfigFile));
        String className = (String) springConfig.get("class");
        String methodName = (String) springConfig.get("method");
         
        //根据类名称创建类对象
        Class clazz = Class.forName(className);
        //根据方面名称,获取方法
        Method m = clazz.getMethod(methodName);
        //获取构造器
        Constructor c = clazz.getConstructor();
        //根据构造器,实例化出对象
        Object service = c.newInstance();
        //调用对象的指定方法
        m.invoke(service);
         
    }
}

 

以上是关于第六课 JAVA反射获取对象属性和方法(通过配置文件)的主要内容,如果未能解决你的问题,请参考以下文章

11月29日 java第六课

Java反射

java反射获取属性值

java中如何通过反射获取类的属性

java基础——反射

java 通过反射怎么获取方法中参数值