- 浏览: 1068390 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
package com.util;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.dom4j.Document;
import org.dom4j.Element;
import alarminterface.CglibBean;
import backupsubsystem.testclient.TestBean;
public class ParameterUtil {
public static void main(String[] args)
{
/* XmlHandle xmlHandle = new XmlHandle();
try
{
Document document = null;
document = xmlHandle.getXmlFromFile("conf/Test.xml");
List root = document.selectNodes("/conf/action");
Map hm = new HashMap();
TestBean beans = new TestBean();
if (root != null)
{
for(Object o:root){
Element e = (Element) o;
loopElement(e,hm);
}
Iterator iter = hm.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry m=(Map.Entry)iter.next();
setFormBean(beans,(String)m.getKey(),(String)m.getValue());
// System.out.println(m.getKey()+"aaa");
}
}
System.out.println(beans.getCon_driver()+":"+beans.getCon_url());
} catch (Exception e)
{
e.printStackTrace();
}*/
}
//该方法第一个参数就是你要填充数据的BEAN,第二个参数是具体给哪个参数赋值,第三个参数是赋值的数据
public static void setFormBean(Object bean,String key,String value) {
Class c = bean.getClass();
//System.out.println(c+":"+key+":"+value);
Method[] ms = c.getMethods();
for (int i = 0; i < ms.length; i++) {
String name = ms[i].getName();
if (name.startsWith("set")) {
Class[] cc = ms[i].getParameterTypes();
if (cc.length == 1) {
String type = cc[0].getName(); // parameter type
try {
// get property name:
String prop = Character.toLowerCase(name.charAt(3))
+ name.substring(4);
//System.out.println("%% "+prop);
// get parameter value:
String param = value;
if(key.equals(prop))
{
if (param != null && !param.equals("")) {
// ms.setAccessible(true);
if (type.equals("java.lang.String")) {
ms[i].invoke(bean, new Object[] { param });
} else if (type.equals("int")
|| type.equals("java.lang.Integer")) {
ms[i].invoke(bean, new Object[] { new Integer(
param) });
} else if (type.equals("long")
|| type.equals("java.lang.Long")) {
ms[i].invoke(bean, new Object[] { new Long(
param) });
} else if (type.equals("boolean")
|| type.equals("java.lang.Boolean")) {
ms[i].invoke(bean, new Object[] { Boolean
.valueOf(param) });
} else if (type.equals("java.util.Date")) {
}
}
break;
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
}
}
发表评论
-
自定义注解之运行时注解(RetentionPolicy.RUNTIME)
2017-10-25 11:42 705对注解概念不了解的可以先看这个:Java注解基础概念总结 ... -
debug模式很慢的解决办法
2017-10-18 09:00 492今天照常使用MyEclipse 6.5 Blue Editi ... -
今天碰到项目中要做一个某一年月报表的页面的学习提高
2011-05-21 06:33 1016今天在项目中要做一个月报表,由于我采用的是ef 4.1的框架, ... -
预警系统
2010-12-16 15:28 1391根据公司需求,所编写的一个预警系统框架,将lib1.zip和l ... -
对quartz使用框架调度总结
2010-11-17 10:56 1783在项目中的使用需求: 1.可以使用一个A程序定期的去扫描配置 ... -
logback 日志记录到数据库中
2010-11-10 11:04 6212<!--不采用连接池的配 ... -
logback 关于日志发送邮件配置总结
2010-11-10 09:40 4158<configuration debug="f ... -
sql server语句优化实例
2010-11-10 08:42 1500SQL语句优化有一个很重要的方法: 在Where中的条件表达 ... -
在新的项目中使用logback来作为日志记录系统
2010-11-09 16:19 4232Logback手册中文版文档版本:0.1发布日期:2010年4 ... -
Quartz 监听器的应用
2010-11-08 17:32 2364当我在项目中用到任务调用的时候,有必要在每次调用任务和任务出现 ... -
编写批处理命令来执行JAVA文件
2010-11-04 11:13 1873JAVA工程路径结构 Project ------l ... -
Quartz定时任务框架学习总结
2010-11-01 10:58 1297首先关于Quartz的一篇详细介绍的文章可以参考我博客中的一篇 ... -
mysql中采用concat来拼接中文字符乱码解决方式
2010-10-13 17:47 2398mysql concat乱码问题解决concat(str1,s ... -
WEB工程加入FLEX技术,遇到跨域的问题
2010-09-16 08:15 1591在我FLEX博客中有提到怎么将FLEX整合到JAVA的WEB工 ... -
关于Struts2中如何去取得ServletContext的方法
2010-09-16 08:07 2750在我的上一篇文章中说到,将DB4O的DAO类放入到Servel ... -
关于DB4O的学习总结
2010-09-16 07:59 1731一下是一个DB4O的操作DAO。 作为DB4O在WEB项目中 ... -
SVN服务器配置总结
2010-09-16 07:40 3411软件下载 服务器和客户端安装 建立版本库(Reposito ...
相关推荐
### 利用反射实现JavaBean的自动赋值 在软件开发过程中,特别是在Web应用程序的开发中,经常会遇到需要将表单提交的数据绑定到JavaBean对象上的需求。这可以通过多种方式实现,例如使用Spring MVC等框架的自动绑定...
`BeanUtils.populate()`方法将Map中的数据自动赋值给了`user`对象。 在实际开发中,Apache Commons BeanUtils库提供了BeanUtil工具类。你可以在项目中引入这个库,然后就可以使用`BeanUtils`类提供的方法。当然,...
- **具有无参构造函数**:这是JavaBean的基本要求之一,确保可以通过反射等机制创建JavaBean实例。 - **使用get/set方法访问其属性**:JavaBean的属性通常遵循JavaBeans规范,即通过get和set方法来访问和修改。 ...
- **反射**:在运行时动态地获取类的信息并操作JavaBean。 - **JSP页面**:在Web开发中,JavaBean可以作为模型层,与JSP视图层进行数据交换。 5. **JavaBean在MVC架构中的角色**: 在MVC架构中,JavaBean作为...
这里,`isAssignableFrom()`方法检查当前`Class`对象是否可以被赋值给`ClassToCheck`对象,等价于`instanceof`的功能。 总结,Java反射机制为程序提供了强大的动态能力,但同时也带来了一定的安全风险和性能影响,...
这些工具类利用了JavaBean规范,即对象的公共setter方法,来设置属性值。因此,只要ActionForm的属性名与请求参数名相匹配,Struts就能自动完成数据的填充。 接下来,我们转向反射。反射是Java语言的一项强大功能,...
然后,在JSP或Servlet中,调用`JButil`的静态方法,如`fillBean()`,传入HttpServletRequest对象和JavaBean实例,即可自动完成参数填充。 ```java // 假设有一个UserBean类,属性有id, name, age public class ...
- **反射操作**:它利用Java的反射机制,自动寻找JavaBean的属性并进行操作。 - **简化代码**:避免了繁琐的属性赋值过程,提高了代码的可读性和简洁性。 2. **使用BeanUtils工具包的操作步骤**: - **导入依赖*...
然而,需要注意的是,反射操作通常比直接的实例化和赋值操作慢,因此在性能敏感的场景下需要谨慎使用。 总的来说,“xmlPares”为Android开发提供了一种便捷的XML解析方案,通过反射机制简化了XML数据到Java对象的...
当找到匹配的属性时,我们使用反射调用对应的setter方法,将表单域的值转化为与Bean属性类型一致的数据,并赋值给Bean的属性。这个过程中可能需要进行类型转换,例如将字符串转换为整数、日期等。 在Struts2的模型...
2. **性能考虑**:频繁使用反射可能会对性能造成一定影响,因此在性能敏感的场景下,可以考虑缓存`PropertyDescriptor`实例。 3. **安全问题**:BeanUtils允许访问私有属性,这可能带来安全风险,使用时需谨慎。 ...
例如,当尝试将字符串赋值给一个整型属性时,BeanUtils会自动进行转换。 3. **复制属性**:`BeanUtils.copyProperties()`方法能够将一个对象的所有属性值复制到另一个对象中,这对于创建对象的副本或数据传递非常...
例如,如果 BeanDefinition 对象定义了一个 JavaBean,Spring 框架会使用 Java 反射机制创建一个新的 JavaBean 实例。 5. 到达填充属性,对属性赋值 在实例化完成后,Spring 框架会对 Bean 对象进行属性赋值。在这...
9.6利用反射获取运行时类信息293 9.6.1使用isInstance()方法判断所属类294 9.6.2获取成员方法信息295 9.6.3获取构造方法信息296 9.6.4获取类的成员属性297 9.6.5根据方法的名称来执行方法299 9.6.6创建新的...
listConstructors.java 利用反射机制获取构造器列表 listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的...
- `<jsp:useBean>`:用于实例化JavaBean。 - `<jsp:setProperty>` 和 `<jsp:getProperty>`:用于设置和获取JavaBean的属性值。 #### 8. 静态include与动态include的区别 - **静态include**:在编译阶段就将被包含...
- **注解配置**:通过`@Component`及其派生注解(如`@Controller`、`@Service`、`@Repository`)来声明组件,并使用`@Value`为属性赋值。 - **Java配置**:使用`@Configuration`和`@Bean`注解来声明配置类。 #### 4...
示例中的`#foreach($kkin$user)`表示遍历`user`列表中的每一个元素,并将其赋值给`$kk`。 - `#end`:结束循环或条件判断指令。 2. **Velocity初始化配置**: - 在Servlet示例中,我们看到使用`Properties`类来...
这样的设计使得JavaBean可以通过反射机制被其他工具或框架在运行时动态地访问和操作其属性。 Spring的BeanUtils组件为我们提供了简化属性复制的方法,比如`copyProperties`,它可以高效地将一个源对象的属性值拷贝...
- javaBean特点:JavaBean是具有特定特征的Java类,通常是可序列化的,拥有一个无参构造器,以及私有成员变量和公共的getter和setter方法。 以上仅是文件内容中涉及的Java知识点的简要总结,实际使用时需要结合具体...