通过字符创调用接口中实现类的方法,SpringBean自动注入,

className:实现类的名称,包含全路径

functionName:方法名

beanName:beanId,即@Service()中value的值

FwaApplicationUtils.getInstance().getApplicationContext():获取spring_context

代码如下:

Class<?> clz = Class.forName(className);

Object myservice = FwaApplicationUtils.getInstance().getApplicationContext().getBean(beanName);

Method m =null;

if(paramsType.equalsIgnoreCase("map")){

m = clz.getMethod(functionName,Map.class);

Map<String, String> map=new HashMap<String, String>();

map.put("periodId", "201606");

m.invoke(myservice,map);

}else if(paramsType.equalsIgnoreCase("string")){

m = clz.getMethod(functionName,String.class);

String kpiTime="201603";

m.invoke(myservice,kpiTime);

}else{

m = clz.getMethod(functionName);

m.invoke(myservice);

}

时间: 2025-01-04 11:00:28

通过字符创调用接口中实现类的方法,SpringBean自动注入,的相关文章

Java 8——接口中个的默认方法和静态方法

在Java SE 8之前,interface只是事物的抽象,用来定义统一的抽象事物和描述事物的抽象行为和属性. 但是在Java SE 8中,增加了可以在interface中增加默认实现的行为和事物的静态行为. 一.为什么? java迭代了如此多的版本且主要采用的都是演化的思想而非重构(为了保证与历史的兼容性). 这样就容易出现很多比较难以处理的问题,接口在发布之后就已经被定型,除非我们能够一次性更新所有该接口的实现.比如某个历史接口有很多实现,需要在历史接口中增加一个行为,那么久需要在它的所有实

Python中的类和方法使用举例

1.类的属性 成员变量对象的创建创建对象的过程称之为实例化,当一个对象被创建后,包含三个方面的特性对象聚丙属性和方法,句柄用于区分不同的对象,对象的属性和方法,与类中的成员变量和成员函数对应,obj = MyClass()创建类的一个实例,扩号对象,通过对象来调用方法和属性 类的属性 类的属性按使用范围分为公有属性和私有属性类的属性范围,取决于属性的名称,共有属性---在内中和内外都能够调用的属性私有属性---不能在内外贝类以外函数调用定义方式:以""双下划线开始的成员变量就是私有属性

Java中Integer类的方法

字段摘要 static int MAX_VALUE              保持 int 类型的最大值的常量可取的值为 231-1. static int MIN_VALUE              保持 int 类型的最小值的常量可取的值为 -231. static int SIZE              以二进制补码形式表示 int 值的位数. static Class<Integer> TYPE              表示基本类型 int 的 Class 实例. 构造方法摘要

Java中StringBuffer类append方法的使用

Java中StringBuffer类append方法的使用 append方法的作用是在一个StringBuffer对象后面追加字符串. 例如StringBuffer s = new StringBuffer("Hello");s.append("World");则s的内容是HelloWorld

在子类中,若要调用父类中被覆盖的方法,可以使用super关键字

在子类中,若要调用父类中被覆盖的方法,可以使用super关键字. package text; class Parent {    int x;    public Parent()    {                    System.out.println("Parent Created1");      }    public void show(){        System.out.println("Parent Created2");    }

【无私分享:ASP.NET CORE 项目实战(第二章)】添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)

目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 上一章,我们介绍了安装和新建控制器.视图,这一章我们来创建个数据模型,并且添加接口和实现类. 添加EF上下文对象 按照我们以前的习惯,我们还是新建几个文件夹 Commons:存放帮助类 Domians:数据模型 Services:接口和实现类 我们在Domains文件夹下添加一个类库 Domain 我们新建一个类 ApplicationDbContext 继承 DbContext 1 using Microsoft.Ent

【java关键字-Interface】为什么接口中的属性和方法都默认为public

假设方法或属性默认为protected,它的子类也可以为protected,可能存在某种情况,导致正常访问这些属性和方法会引起错误.接口并不知道未来会被哪个类调用,所以尽量减少接口的访问权限控制,就设置权限为public.出于这种考虑,Sun公司一开始就规定,接口属性和方法默认就为public. 举例:假如IPerson接口中申明了protected String getName(),Person实现IPerson的getName()接口 package person; public inter

【转载】Java中String类的方法及说明

转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.构造函数     String(byte[ ] bytes):通过byte数组构造字符串对象.     String(char[ ] value):通过char数组构造字符串对象.     String(Sting original):构造一个original的副本.即:拷贝一个original.     String(Strin

学习笔记4:java中Thread类的方法小结

稍稍对Thread类中的常用方法简单地做了一次总结,加深点印象. 仍然还是采用继承Thread类的案例来实现创建线程的方式 , 附代码段: /*  * @auto: 牧羊的伯格女皇  * 2015-10-16  * Thread的常用方法稍微总结:  * 1. start() 启动线程并执行相应的run()方法  * 2. run()  子线程要执行的代码放入run()方法中  * 3. currentThread() 静态的, 调取当前的线程,即返回对当前正在执行的线程对象的引用.  * 4.