- 浏览: 739883 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (194)
- Webservice (6)
- ExtJs (2)
- Work Summary (4)
- CoreJava (51)
- Spring (10)
- EJB (5)
- struts1.x (3)
- C/C++ (5)
- DatabaseManager (19)
- Hibernate (5)
- Crytology (1)
- Web Server (5)
- Software Manager (5)
- WebUi (39)
- Web page (2)
- android (5)
- struts2 (12)
- Java 导出 Excel (1)
- Spring 与struts2 和Hibernate 4.0注解解决方安 (1)
- Dwr (1)
- maven3 (4)
- Windows (3)
- 表格头部信息不动使用Jquery 外部框架 (1)
- 软件行业动态 (1)
- mybatis (1)
- C# (3)
- MySQL (4)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
LODOP插件开发 -
an52036:
u010980147 写道您的代码确实能生成条形码,但是打印出 ...
Java 条形码生成(一维条形码) -
di1984HIT:
学习了,很好~~
Ant 打包war 生成文件内容build.xml -
lhb319lhb:
如果 ajax(jquery)更新了 iframe 的 src ...
jquery 修改iframe src -
calosteward:
感谢楼主,除了一维条码,有没有相关二维码的资源呢?______ ...
Java 条形码生成(一维条形码)
private void setBeanProps(Object obj, Properties props) throws NoSuchMethodException, IllegalAccessException, java.lang.reflect.InvocationTargetException, IntrospectionException, SchedulerConfigException { props.remove("class"); BeanInfo bi = Introspector.getBeanInfo(obj.getClass()); PropertyDescriptor[] propDescs = bi.getPropertyDescriptors(); PropertiesParser pp = new PropertiesParser(props); java.util.Enumeration<Object> keys = props.keys(); while (keys.hasMoreElements()) { String name = (String) keys.nextElement(); String c = name.substring(0, 1).toUpperCase(Locale.US); String methName = "set" + c + name.substring(1); java.lang.reflect.Method setMeth = getSetMethod(methName, propDescs); try { if (setMeth == null) { throw new NoSuchMethodException( "No setter for property '" + name + "'"); } Class<?>[] params = setMeth.getParameterTypes(); if (params.length != 1) { throw new NoSuchMethodException( "No 1-argument setter for property '" + name + "'"); } // does the property value reference another property's value? If so, swap to look at its value PropertiesParser refProps = pp; String refName = pp.getStringProperty(name); if(refName != null && refName.startsWith("$@")) { refName = refName.substring(2); refProps = cfg; } else refName = name; if (params[0].equals(int.class)) { setMeth.invoke(obj, new Object[]{Integer.valueOf(refProps.getIntProperty(refName))}); } else if (params[0].equals(long.class)) { setMeth.invoke(obj, new Object[]{Long.valueOf(refProps.getLongProperty(refName))}); } else if (params[0].equals(float.class)) { setMeth.invoke(obj, new Object[]{Float.valueOf(refProps.getFloatProperty(refName))}); } else if (params[0].equals(double.class)) { setMeth.invoke(obj, new Object[]{Double.valueOf(refProps.getDoubleProperty(refName))}); } else if (params[0].equals(boolean.class)) { setMeth.invoke(obj, new Object[]{Boolean.valueOf(refProps.getBooleanProperty(refName))}); } else if (params[0].equals(String.class)) { setMeth.invoke(obj, new Object[]{refProps.getStringProperty(refName)}); } else { throw new NoSuchMethodException( "No primitive-type setter for property '" + name + "'"); } } catch (NumberFormatException nfe) { throw new SchedulerConfigException("Could not parse property '" + name + "' into correct data type: " + nfe.toString()); } } } private java.lang.reflect.Method getSetMethod(String name, PropertyDescriptor[] props) { for (int i = 0; i < props.length; i++) { java.lang.reflect.Method wMeth = props[i].getWriteMethod(); if (wMeth != null && wMeth.getName().equals(name)) { return wMeth; } } return null; } private Class<?> loadClass(String className) throws ClassNotFoundException, SchedulerConfigException { try { ClassLoader cl = findClassloader(); if(cl != null) return cl.loadClass(className); throw new SchedulerConfigException("Unable to find a class loader on the current thread or class."); } catch (ClassNotFoundException e) { if(getClass().getClassLoader() != null) return getClass().getClassLoader().loadClass(className); throw e; } } private ClassLoader findClassloader() { // work-around set context loader for windows-service started jvms (QUARTZ-748) if(Thread.currentThread().getContextClassLoader() == null && getClass().getClassLoader() != null) { Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); } return Thread.currentThread().getContextClassLoader(); } private String getSchedulerName() { return cfg.getStringProperty(PROP_SCHED_INSTANCE_NAME, "QuartzScheduler"); }
发表评论
-
ubuntu 安装JDK失败
2020-09-01 20:40 0文件/etc/apt/sources.list是一个普通可 ... -
ubuntu完美卸载JDK
2020-09-01 12:31 760要删除 OpenJDK (如果已安装的话)。首先,检查是安装 ... -
freemark 基本语法
2018-03-22 23:19 892reemarker的基本语法及入门基础 一、freem ... -
linux 新增硬盘分区并挂载
2016-06-02 12:45 1700运行fdisk -l 查看计算机对应的硬盘信息 Disk ... -
JasperReports打印图片
2016-05-21 22:20 2967long start = System.currentTim ... -
CAS 客户端与一般Web项目集成
2015-07-04 16:20 16201这一段时间有同事在问CAS -Client的问题这里就基本问 ... -
CAS-项目集成问题整理
2015-07-04 15:24 1411javax.net.ssl.SSLHandshakeExc ... -
CAS 与Tomcat 集成
2015-06-29 15:16 3758第一节:生成证书 第一步:生成keystore注意【cn= ... -
logback 日志配置生成当天志并分大小
2015-03-26 17:00 1650<?xml version="1.0&quo ... -
Mysql锁表问题
2015-03-26 09:57 9161)查询锁表问题 show open tables ... -
excel 导出文件中文问题
2015-03-24 23:39 1756package com.tzdr.common.utils; ... -
HttpURLConnection Post
2015-02-04 17:08 948/** * Http访问 * @param ht ... -
java获取classpath路径
2015-02-01 11:03 7826ClassLoader 提供了两个方法用于从装载的类路径中取 ... -
Con 表达式
2014-12-28 13:00 2923cron表达式详解 Cron表 ... -
Spring3 +JPA
2014-12-25 19:23 12551)META-INF/persistence.xml T ... -
Hessian调用方法
2014-09-26 12:45 6152package com.huashun.api. ... -
Freemark的使用
2014-06-09 15:27 994freemark 解释 package com.pa ... -
J2EE安装问题
2014-03-20 16:39 981安装J2EE的SDK报错:could ... -
Applet 有包配置及开发HeloWorldl
2013-06-13 08:48 12091.开发代码 package com.newt ... -
Jetty嵌入式服务器端开发
2013-06-07 08:09 10861.服务器代码 package com.newto ...
相关推荐
本文介绍了如何使用Java反射机制来创建get和set方法,并通过反射调用这些方法来访问对象的属性。这种方式虽然灵活,但在实际开发中应当谨慎使用,因为它可能会降低代码的性能和可维护性。了解反射机制的基本原理对于...
在给定的代码中,`TestRef` 类展示了如何使用Java反射调用方法。首先,我们创建了一个 `Foo` 类,它有一个私有字符串成员变量 `msg` 和三个方法:`setMsg`、`getMsg` 和 `outInfo`。`main` 方法是演示反射调用的入口...
3. **设置访问权限**:由于私有方法默认是不可访问的,所以我们需要通过`setAccessible(true)`方法来改变其访问权限,允许反射调用。`privateMethod.setAccessible(true);` 4. **调用私有方法**:现在我们可以调用...
2. `setProperty(Object obj, String propertyName, Object value)`:这个方法用于通过反射调用`set`方法设置对象的属性值。它首先获取对象`obj`的类,然后调用`getPropertyDescriptor()`获取对应的`...
Java反射调用是Java语言提供的一种强大的动态类型机制,它允许程序在运行时检查并使用类的信息,包括类的方法、属性以及构造器等。在Java中,反射是通过`java.lang.reflect`包中的类实现的,如`Class`、`Constructor...
这个资源“java反射调用实例代码”提供了关于如何使用Java反射API进行各种操作的实际示例。 在Java中,`java.lang.reflect`包提供了对反射的支持,包括`Class`类,`Constructor`类,`Method`类和`Field`类。这些类...
Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java程序具有了高度的灵活性和动态性,尤其在框架开发、插件系统...
以下是反射调用`add`和`subtract`的代码示例: ```java Calculator calculator = new Calculator(); Class<?> calculatorClass = calculator.getClass(); Method addMethod = calculatorClass.getDeclaredMethod(...
在Java中,反射主要通过`java.lang.Class`类和`java.lang.reflect`包中的几个关键类(如`Constructor`、`Method`和`Field`)来实现。当你在程序运行时获取到一个类的`Class`对象,你就可以获取该类的所有信息,包括...
这篇博文将带你入门Java反射,并通过属性和方法的调用来实践这一概念。 首先,理解反射的基础概念。在Java中,`Class`类代表了运行时的类信息。通过`Class`对象,我们可以获取到类的名称、构造器、方法和字段。例如...
Java反射机制是Java语言提供的一种强大功能,它允许我们在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个机制在处理不确定类型或者需要灵活操作类的场景中非常有用。在这个...
通过Java反射机制,我们可以在运行时获取类的信息,包括类的成员变量、方法、构造方法等,并可以动态地调用这些成员变量和方法。 获取Class对象 ---------------- 在Java中,Class对象是反射机制的基础。我们可以...
例如,`Method setMethod = child.getClass().getDeclaredMethod("setCommodity_number", Integer.class)` 6. 使用`setAccessible(true)`将私有方法或属性的访问权限设置为可访问。这一步跳过了Java的访问控制。 7. ...
总之,反射调用私有方法在特定场景下是有用的,特别是在测试和调试过程中。然而,它应当被视为一种特殊手段,而不是常规的编程实践。理解并明智地使用反射,才能充分利用它的优点,同时避免潜在的问题。
- `b.setPwd()`, `b.setAcc()`通过反射调用了`AA`类的方法。 - `testshow(b)`可能是一个用于显示对象信息的自定义方法。 - `Class o=Class.forName("testf.AA")`获取`AA`类的`Class`对象,`o.getName()`返回类的...
`Parameters`类中有个`setFlashMode()`方法,但我们不能直接调用,所以需要通过反射: ```java Camera.Parameters parameters = camera.getParameters(); try { Class<?> parametersClass = Class.forName(...
反射机制的核心在于`java.lang.reflect`包中的类,如Class、Constructor、Method和Field。标题"反射机制反射Dao"暗示我们将探讨如何使用反射与数据访问对象(DAO)模式相结合。 反射机制允许程序在运行时动态地获取...
反射是一种在运行时分析类型的能力,它使我们能够动态地获取类型信息,并基于这些信息创建对象、调用方法或访问字段。在C#中,System.Reflection命名空间提供了所有与反射相关的类和方法。 2. 获取类型信息 要获取...
要调用私有方法,我们需要使用`Method`类,先获取到该方法的`Method`对象,然后通过`setAccessible(true)`将其访问权限设为可访问,最后通过`invoke()`方法调用: ```java Method privateMethod = personClass....