- 浏览: 97240 次
- 性别:
- 来自: 广州
文章分类
最新评论
例如创建一个User class
普通模式:
setter返回void,变量和getter,setter符合Javabean规范。
增强模式:
setter返回this(当前bean实例),但setter的模式非JavaBean的规范;
setter这样写的好处是可以连续通过点记法导航设置值;
如user.setId("020-001").setUser("toby");
链式调用似乎在一般使用时作用不大,但对于属性数量太多的时候可以节省更多代码。
补充:
上面使用Introspector类来获得某bean的PropertyDescriptor对象列表,遍历显示出该bean的特性名称和类型。这种方法在定位bug是非常有用。(来自《ibatis in action》的介绍)
普通模式:
setter返回void,变量和getter,setter符合Javabean规范。
public class User { private int id; private String user; public User(){} public User(int id , String user){ this.id = id; this.user = user; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUser() { return user; } public void setUser(String user){ this.user = user; } }
增强模式:
setter返回this(当前bean实例),但setter的模式非JavaBean的规范;
setter这样写的好处是可以连续通过点记法导航设置值;
如user.setId("020-001").setUser("toby");
public class User{ private int id; private String user; public User(){} public User(int id , String user){ this.id = id; this.user = user; } public int getId() { return id; } public User setId(int id) { this.id = id; return this; // has return } public String getUser() { return user; } public User setUser(String user){ this.user = user; return this; // has return } }
链式调用似乎在一般使用时作用不大,但对于属性数量太多的时候可以节省更多代码。
补充:
public void listPropertyNames(Class c) throws IntrospectionException{ PropertyDescriptor [] pd; pd = Introspector.getBeanInfo(c).getPropertyDescriptors(); for(int i=0;i<pd.length;i++){ System.out.println(pd[i].getName() + "(" + pd[i].getProperty().getName() + ")"); } } //listPropertyNames(User.class) //output ->class(java.lang.Class) // id(int) // user(java.lang.String)
上面使用Introspector类来获得某bean的PropertyDescriptor对象列表,遍历显示出该bean的特性名称和类型。这种方法在定位bug是非常有用。(来自《ibatis in action》的介绍)
发表评论
-
Java类修饰符总结
2014-10-27 04:00 872java的修饰符有:权限修饰符:public、protecte ... -
Java的参数传递(值传递与引用传递)作为形参传入方法,是否会改变原值?
2014-10-25 15:15 3894public class Hello { public s ... -
Java JDBC调用MySQL的存储过程简单示例
2013-09-30 04:07 716package com.toby.mysql; impo ... -
[转]Hibernate的dynamic-insert dynamic-update和select-before-update
2013-05-16 16:04 1113http://blog.csdn.net/hsuxu/arti ... -
Java.net的ServerSocket与Socket
2012-12-01 16:48 3689ServerSocket类 ServerSocket ... -
ClassLoader的loadClass方法源码浅析
2012-11-20 15:46 1087protected synchronized Class& ... -
Call stack 与 Stack frame的概念
2012-11-17 16:36 6008Call stack(调用堆栈):调用堆栈是一个方 ... -
查找Proxy链中被代理的target对象 -《Javareflection in action》的例子
2012-11-15 16:37 0xxxxxx -
Class.class.isInstance(Object.class)
2012-11-05 10:43 876Class.class.isInstance(Object ... -
Class.class.isInstance(Class.class)
2012-11-03 17:15 850Class.class.isInstance(Class. ... -
Java关键字native,strictfp,transient,volatile
2012-11-02 15:53 0待续编辑它 -
Java运算符优先级整理
2012-09-22 16:49 796Java 中共有 54 种运算符,按优先级可以分为 14 级, ... -
DriverManager与DataSource的区别以及JDBC测试代码
2012-09-07 11:56 5518DriverManager与DataSource ... -
float与double的位分配
2012-08-25 17:30 2006摘自网络:http://zhidao.baidu.com/qu ... -
JAVA移位
2012-08-22 10:07 0移位运算符就是在二进 ... -
Java常量和类变量
2012-07-26 12:03 0常量的优点 如果在程序中直接填写数字,程序的可读性将会变差,程 ...
相关推荐
Javabean模型Example6_1_Bean.java中的getXxx和setXxx方法不涉及对数据的具体处理细节,以便增强模型的通用性。比如,setSum(double s)仅仅将参数s的值赋给属性sum,因此,模型即可以存储等差数列的和也可以存储等比...
为了能在一本书里面包含 Struts,我们试图在本书中包括HTML 标记语言, JSP页面语法,JavaBean 开发的习惯,或者类似技术的细节。嘉定读者已经熟知这些技术,以便能跟得上我们表述的例子。 并且假定读者熟知URL,...
4.1.1 创建JavaBean 64 4.1.2 SqlMap API 66 4.1.3 已映射语句的类型 67 4.2 使用select已映射语句 70 4.2.1 使用内联参数(用#做占位符) 70 4.2.2 使用内联参数(用$做占位符) 71 4.2.3 SQL注入简介 72 4.2.4 自动...
此外,还有关于JSP与Servlet、JavaBean、JDBC等技术的整合应用,让你能够全面掌握JSP的开发流程和技术细节。通过学习这个资料包,你将能够熟练运用JSP技术开发出功能完善、界面美观的动态网站。无论是学校的课程作业...
HttpServletResponse的应用 5.1 准备实验环境 5.2 HttpServletResponse简介 5.3 产生响应状态行 5.4 构建响应消息头 5.5 响应消息头的实用案例 5.6 创建响应正文 5.7 请求重定向...
11 javaBean编码规范 14 12 练习: 15 13 什么构造方法 16 14 构造方法的作用? 17 15 this关键字 17 16 方法调用时的引用传递还是值传递 19 17 面向对象语言的三大特性:封装,继承,多态 20 18 什么是封装?封装在...
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性...
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确...
比如, Enterprise Java-Beans (EJB) container或者 Servlet engine 而这些框架一般在中小工程中我们都不会使用,会让我们把大量的时间浪费在开发框架上。 而现在比较流行开源框架,主要是struts,hibernate,spring等...
这些数据库表由Actitviti创建,由Activiti维护。 部署完的工作流是需要手动去执行该工作流的。 根据由谁处理当前任务,我们就可以查询出具体的任务信息。 根据任务的id,我们就可以执行任务了。 细节 ...
你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰 4、为Web准备 在模板语言中内建处理典型Web相关任务(如HTML转义)的结构 能够集成...
除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式? 37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有什么区别? 38.列举三种以上垃圾回收算法,并比较其优缺点? 39....
1.1. 关于本书...............................................................................................................19 1.1.1. 谁创建了 Struts?....................................................
1.1. 关于本书...............................................................................................................19 1.1.1. 谁创建了Struts?......................................................