仓酷云
标题:
来看Java小例子:依据Map对象的内容创立JavaBean
[打印本页]
作者:
飘灵儿
时间:
2015-1-18 11:10
标题:
来看Java小例子:依据Map对象的内容创立JavaBean
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。
Java供应java.beans.Introspector类,匡助我们剖析JavaBean类傍边有哪些属性,经由过程它能够便利的对JavaBean对象属性举行取值和赋值操纵。下面是一个例子,依据Map对象中的内容创立JavaBean对象。
01.importjava.beans.BeanInfo;
02.importjava.beans.IntrospectionException;
03.importjava.beans.Introspector;
04.importjava.beans.PropertyDescriptor;
05.importjava.util.HashMap;
06.importjava.util.Map;
07.importjava.lang.reflect.InvocationTargetException;
08.
09.publicclassMapToBean{
10.
11.publicstaticvoidmain(String[]args)throwsException{
12.Map<Object,Object>map=newHashMap<Object,
Object>();
13.map.put("name","张三");
14.map.put("age",30);
15.Personp=convertMap(Person.class,map);
16.System.out.println(p.getName()+","+p.getAge
());
17.}
18.
19./**
20.*将一个Map对象转化为一个JavaBean
21.*
22.*@paramtype要转化的范例
23.*@parammap包括属性值的map
24.*
25.*@return转化出来的JavaBean对象
26.*
27.*@throwsIntrospectionException假如剖析类属性失利
28.*@throwsIllegalAccessException假如实例化JavaBean失利
29.*@throwsInstantiationException假如实例化JavaBean失利
30.*@throwsInvocationTargetException假如挪用属性的setter办法
失利
31.*/
32.privatestatic<T>TconvertMap(Class<T>type,
Map<Object,Object>map)
33.throwsIntrospectionException,IllegalAccessException,
34.InstantiationException,InvocationTargetException{
35.BeanInfobeanInfo=Introspector.getBeanInfo(type);//猎取
类属性
36.Tt=type.newInstance();//创立JavaBean对象
37.
38.//给JavaBean对象的属性赋值
39.for(PropertyDescriptordescriptor:
beanInfo.getPropertyDescriptors()){
40.StringpropertyName=descriptor.getName();
41.if(map.containsKey(propertyName)){
42.//上面一句能够try起来,如许当一个属性赋值失利的
时分就不会影响其他属性赋值。
43.descriptor.getWriteMethod().invoke(t,map.get
(propertyName));
44.}
45.}
46.returnt;
47.}
48.}
49.
50.classPerson{
51.
52.privateStringname;
53.
54.privateintage;
55.
56.publicStringgetName(){
57.returnname;
58.}
59.
60.publicvoidsetName(Stringname){
61.this.name=name;
62.}
63.
64.publicintgetAge(){
65.returnage;
66.}
67.
68.publicvoidsetAge(intage){
69.this.age=age;
70.}
71.}
复制代码
进而能拉拢大多数程序员用windows产品。并且从ASP.NETAJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net的,如果跨平台的.net还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。
作者:
再现理想
时间:
2015-1-20 15:50
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者:
乐观
时间:
2015-1-28 06:04
Java 编程语言的风格十分接近C、C++语言。
作者:
admin
时间:
2015-2-4 14:40
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
作者:
分手快乐
时间:
2015-2-6 19:02
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者:
变相怪杰
时间:
2015-2-18 06:47
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者:
莫相离
时间:
2015-3-6 01:03
是一种使网页(Web Page)产生生动活泼画面的语言
作者:
小魔女
时间:
2015-3-12 18:03
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者:
若相依
时间:
2015-3-20 01:19
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2