java静态⽅法反射_java利⽤反射调⽤静态⽅法的⽰例内容简介
主要介绍使⽤反射的机制来调⽤执⾏类中的静态⽅法。
静态⽅法
public class GisUtil {
private final static Logger logger = Logger(GisUtil.class);
public static ExportMethodResultDto gisService1 (String str){
logger.info("进⼊gisService1⽅法,参数[str]:" + str);
ExportMethodResultDto dto = new ExportMethodResultDto();
LocalDateTime currentTime = w();
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
dto.setJobId(df.format(currentTime));
dto.setOutFilePath("E:\\DocDirectory\\test.doc");
return dto;
}
public static ExportMethodResultDto gisService2 (ExportProjectRasterParam param){
logger.info("进⼊gisService2⽅法...");
logger.info("参数[param]=" + param);
ExportMethodResultDto dto = new ExportMethodResultDto();
String uuId = UUID();
dto.setJobId(uuId);
dto.setOutFilePath("E:\\"+ uuId +"\\srtm_49_02_raster.shp");
return dto;
}
}
调⽤
String str = "test_service_1";
Class> threadClazz = Class.forName("com.lgt.demo2.gisService.util.GisUtil");
Method method = Method("gisService1", String.class);
ExportMethodResultDto dto = (ExportMethodResultDto)method.invoke(null, str);
logger.info("gisService1返回:");
logger.info(" jobId:"+ JobId());
logger.info(" OutFilePath:" + OutFilePath());
ExportProjectRasterParam param = new ExportProjectRasterParam();
param.setCellSize("1");
param.setResamplingType("NEAREST");
param.setInCoorSystem("GCS_WGS_1984");
param.setOutCoorSystem("GCS_China_Geodetic_Coordinate_System_2000");
Method method2 = Method("gisService2", ExportProjectRasterParam.class);
ExportMethodResultDto dto2 = (ExportMethodResultDto)method2.invoke(null,param);
logger.info("gisService2返回:");
logger.info(" jobId:"+ JobId());
logger.info(" OutFilePath:" + OutFilePath());
输出结果
2019-07-03 14:51:08.816 INFO 332 --- [nio-8080-exec-2] com.lgt.demo2.gisService.util.GisUtil : 进⼊gisService1⽅法,参数[str]:test_service_1
2019-07-03 14:51:08.852 INFO 332 --- [nio-8080-exec-2] c.l.ller.StringController : gisService1返回:
2019-07-03 14:51:08.853 INFO 332 --- [nio-8080-exec-2] c.l.ller.StringController : jobId:2019-07-03 14:51:08
2019-07-03 14:51:08.853 INFO 332 --- [nio-8080-exec-2] c.l.ller.StringController :
OutFilePath:E:\DocDirectory\test.doc
2019-07-03 14:51:08.853 INFO 332 --- [nio-8080-exec-2] com.lgt.demo2.gisService.util.GisUtil : 进⼊gisService2⽅法...
2019-07-03 14:51:08.854 INFO 332 --- [nio-8080-exec-2] com.lgt.demo2.gisService.util.GisUtil : 参数[param]=
[inCoorSystem:GCS_WGS_1984,outCoorSystem:GCS_China_Geodetic_Coordinate_System_2000,resamplingType:NEAREST,cellSize
2019-07-03 14:51:08.858 INFO 332 --- [nio-8080-exec-2] c.l.ller.StringController : gisService2返回:
2019-07-03 14:51:08.859 INFO 332 --- [nio-8080-exec-2] c.l.ller.StringController :
jobId:79b4e82ef4564855881ecb4030ba39e2
2019-07-03 14:51:08.859 INFO 332 --- [nio-8080-exec-2] c.l.ller.StringController :
OutFilePath:E:\79b4e82ef4564855881ecb4030ba39e2\srtm_49_02_raster.shp
⽤到的实体类
public class ExportMethodResultDto implements Serializable {
private String outFilePath;//⽣成⽂件的绝对路径
private String jobId;//GIS调⽤异步服务响应的jobId
public String getOutFilePath() {
return outFilePath;
}
public void setOutFilePath(String outFilePath) {
this.outFilePath = outFilePath;
}
public String getJobId() {
return jobId;
}
public void setJobId(String jobId) {
this.jobId = jobId;
}
}
ExportMethodResultDto
public class ExportProjectRasterParam implements Serializable { private String inCoorSystem;//输⼊坐标系
private String outCoorSystem;//输出坐标系
private String resamplingType;//重采样算法(可选)
private String cellSize;//像元⼤⼩(可选)
public String getInCoorSystem() {
return inCoorSystem;
}
public void setInCoorSystem(String inCoorSystem) {
this.inCoorSystem = inCoorSystem;
}
public String getOutCoorSystem() {
return outCoorSystem;
}
public void setOutCoorSystem(String outCoorSystem) {
this.outCoorSystem = outCoorSystem;
}
public String getResamplingType() {
return resamplingType;
}
public void setResamplingType(String resamplingType) {
}
public String getCellSize() {
return cellSize;
}
public void setCellSize(String cellSize) {
}
public String toString(){
怎么用java编写app软件return String.format("
[inCoorSystem:%s,outCoorSystem:%s,resamplingType:%s,cellSize:%s]",this.inCoorSystem,this.samplingType,
}
}
ExportProjectRasterParam
java利⽤反射调⽤类的某个⽅法
java利⽤反射机制 可以动态调⽤某个类的某个⽅法,在 扩展系统功能或提供对外接⼝时经常⽤的到. 代码如下: 打印类Print.java package
java利⽤反射获取类的属性及类型
java利⽤反射获取类的属性及类型. import flect.Field; import java.math.BigDecimal; import java.util.Map ...
【转】Java利⽤反射机制访问私有化构造器
Java利⽤反射机制访问私有化构造器 博客分类: java  我们都知道,当⼀个类的构造⽅法被设为私有的时
候(private),在其他类中是⽆法⽤
new来实例化⼀个对象的. 但是有⼀种⽅法可以把带有 ...
利⽤反射--调⽤⼀个按钮的Click事件
最基本的调⽤⽅法 (1)button1.PerformClick();(2)button1_Click(null,null);(3)button_Click(null,new EventArgs()) ...
java利⽤反射机制判断对象的属性是否为空以及获取和设置该属性的值
1.java利⽤反射机制判断对象的属性是否为空: Map validateMap = new LinkedHashMap
C#利⽤反射调⽤PB编译的COM组件
问题: 1.根据COM组件的ProgID,得到COM组件公开的类型 2.创建COM组件提供的类型的对象 3.调⽤执⾏⽅法 正确姿势 C#利⽤反射调⽤
(后期绑定)PB编译的COM组件 C#调⽤COM组件 ...
Java中如何调⽤静态⽅法
Java中如何调⽤静态⽅法: 1.如果想要调⽤的静态⽅法在本类中,可直接使⽤⽅法名调⽤ 2.调⽤其他类的静态⽅法,可使⽤类名.⽅法名调⽤ 关
于静态⽅法能被什么调⽤ 1.实例⽅法 2.静态发放
【Java】反射调⽤与⾯向对象结合使⽤产⽣的惊艳
缘起 我在看Spring的源码时,发现了⼀个隐藏的问题,就是⽗类⽅法(Method)在⼦类实例上的反射(Reflect)调⽤. 初次看到,感觉有些奇特,因
为⽗类⽅法可能是抽象的或私有的,但我没有去怀疑 ...
java 利⽤jna调⽤c#的dll
⼀.需求阐述: 如果我们的项⽬利⽤c#开发,到了开发后期需要和java组进⾏合作,其中有⼀部分业务逻辑利⽤c#已经code completed,那么我
们可能会考虑⽤java来调⽤现成的c#dll实现需 ...
随机推荐
Hello Java
⽤记事本或者Eclipse编写如下代码 public class JavaAPP{      public static void main(String[] args){      System ...
Unity3d 解析⽂本执⾏已注册的⾃定函数
最近有个需求是想让程序解析策划编辑⼀个⽂本⽣成⼀段CG,内容使⽤⼤致是这样
cgSetCameraEx(118.6324,30.71189,75.55666,45,-45,0,0) cgCloneMy ...
Solr auto commit 配置
为了解决写索引时频繁提交带来的效率问题,考虑使⽤⾃动提交. 在l中增加以下代码:
linux下神奇的script命令
script 是⼀个神奇命令,script 能够将终端的会话过程录制下来,然后使⽤ scriptreplay 就可以将其录制的结果播放给他⼈观看.script 的好处就在于你在终端中的所有操作.敲过的 ...
vs2013调试崩溃,重启电脑依旧崩溃
如果⼤家遇到 VS断点调试程序崩溃的问题,可以排查是不是有这个问题 VSx新安装了插件 点击⼯具---扩展和更新  禁⽤最新安装的程序 ⼀般就没有问题了
hdu4352 数位dp+状态压缩+⼀个tip
按照nlogn求lis的⽅法,把lis的状态压缩了,每次新加⼀个数就把它右边第⼀个数的位置置为0,然后把这个数加进去 ⼀个需要注意的地⽅,如果前⾯都是0,那么状态s中代表0的位置不可以是1,因为这种情 ...
HTML5开发之meta标签的viewport使⽤说明
随着⾼端⼿机(Andriod,Iphone,Ipod,WinPhone等)的盛⾏,移动互联应⽤开发也越来越受到⼈们的重视,⽤html5开发移动应⽤是最好的选择.然⽽每⼀款⼿机有不同的分辨率,不同屏幕⼤ ...
luogu 1314 聪明的质检员
⼆分答案的边界问题还是要注意 double挨着,int+1-1, 此题⽤到long long,所以初始化ans要⾜够⼤,前缀和优化 依然根据check答案⼤⼩左右mid,虽然有s,但是有了+1-1加持 ...

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。