仓酷云

标题: 来看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对象。
  1. 01.importjava.beans.BeanInfo;
  2. 02.importjava.beans.IntrospectionException;
  3. 03.importjava.beans.Introspector;
  4. 04.importjava.beans.PropertyDescriptor;
  5. 05.importjava.util.HashMap;
  6. 06.importjava.util.Map;
  7. 07.importjava.lang.reflect.InvocationTargetException;
  8. 08.
  9. 09.publicclassMapToBean{
  10. 10.
  11. 11.publicstaticvoidmain(String[]args)throwsException{
  12. 12.Map<Object,Object>map=newHashMap<Object,
  13. Object>();
  14. 13.map.put("name","张三");
  15. 14.map.put("age",30);
  16. 15.Personp=convertMap(Person.class,map);
  17. 16.System.out.println(p.getName()+","+p.getAge
  18. ());
  19. 17.}
  20. 18.
  21. 19./**
  22. 20.*将一个Map对象转化为一个JavaBean
  23. 21.*
  24. 22.*@paramtype要转化的范例
  25. 23.*@parammap包括属性值的map
  26. 24.*
  27. 25.*@return转化出来的JavaBean对象
  28. 26.*
  29. 27.*@throwsIntrospectionException假如剖析类属性失利
  30. 28.*@throwsIllegalAccessException假如实例化JavaBean失利
  31. 29.*@throwsInstantiationException假如实例化JavaBean失利
  32. 30.*@throwsInvocationTargetException假如挪用属性的setter办法
  33. 失利
  34. 31.*/
  35. 32.privatestatic<T>TconvertMap(Class<T>type,
  36. Map<Object,Object>map)
  37. 33.throwsIntrospectionException,IllegalAccessException,
  38. 34.InstantiationException,InvocationTargetException{
  39. 35.BeanInfobeanInfo=Introspector.getBeanInfo(type);//猎取
  40. 类属性
  41. 36.Tt=type.newInstance();//创立JavaBean对象
  42. 37.
  43. 38.//给JavaBean对象的属性赋值
  44. 39.for(PropertyDescriptordescriptor:
  45. beanInfo.getPropertyDescriptors()){
  46. 40.StringpropertyName=descriptor.getName();
  47. 41.if(map.containsKey(propertyName)){
  48. 42.//上面一句能够try起来,如许当一个属性赋值失利的
  49. 时分就不会影响其他属性赋值。
  50. 43.descriptor.getWriteMethod().invoke(t,map.get
  51. (propertyName));
  52. 44.}
  53. 45.}
  54. 46.returnt;
  55. 47.}
  56. 48.}
  57. 49.
  58. 50.classPerson{
  59. 51.
  60. 52.privateStringname;
  61. 53.
  62. 54.privateintage;
  63. 55.
  64. 56.publicStringgetName(){
  65. 57.returnname;
  66. 58.}
  67. 59.
  68. 60.publicvoidsetName(Stringname){
  69. 61.this.name=name;
  70. 62.}
  71. 63.
  72. 64.publicintgetAge(){
  73. 65.returnage;
  74. 66.}
  75. 67.
  76. 68.publicvoidsetAge(intage){
  77. 69.this.age=age;
  78. 70.}
  79. 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