- 浏览: 864431 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
参照ThreadLocal<T>完成如下
- public abstract class BaseHelper<T> {
- private T object = null;
- private HttpServletRequest request;
- private String key;
- public BaseHelper(HttpServletRequest request, String key) {
- this.request = request;
- this.key = key;
- object = (T)request.getSession().getAttribute(key);
- if(object == null){
- object = initValue();
- }
- }
- public T get(){
- return object;
- }
- protected abstract T initValue();
- }
- public class BaseHelperTest extends TestCase {
- private BaseHelper<Product> sm;
- protected void setUp() throws Exception {
- HttpServletRequest request = new MockHttpServletRequest();
- sm = new BaseHelper<Product>(request, "x_key"){
- protected Product initValue(){
- return new Product();
- }
- };
- }
- protected void tearDown() throws Exception {
- super.tearDown();
- }
- /*
- * Test method for 'com.ecc.beauty.common.page.SessionManager.getAttrbute(String)'
- */
- public void testGet() {
- assertNotNull(sm.get());
- }
- }
public abstract class BaseHelper<T> { private T object = null; private HttpServletRequest request; private String key; public BaseHelper(HttpServletRequest request, String key) { this.request = request; this.key = key; object = (T)request.getSession().getAttribute(key); if(object == null){ object = initValue(); } } public T get(){ return object; } protected abstract T initValue(); } public class BaseHelperTest extends TestCase { private BaseHelper<Product> sm; protected void setUp() throws Exception { HttpServletRequest request = new MockHttpServletRequest(); sm = new BaseHelper<Product>(request, "x_key"){ protected Product initValue(){ return new Product(); } }; } protected void tearDown() throws Exception { super.tearDown(); } /* * Test method for 'com.ecc.beauty.common.page.SessionManager.getAttrbute(String)' */ public void testGet() { assertNotNull(sm.get()); } }
这种方式可以实现一个类代替 A B C等一系列类,但是在每一个用到的地方都写这样一段代码感觉不够优雅
- sm = new BaseHelper<Product>(request, "x_key"){
- protected Product initValue(){
- return new Product();
- }
- };
方法B:Class<T> entityClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
发表评论
-
操作系统的目标和作用
2012-07-05 23:46 1271操作系统的目标 目前存在着多种类型的OS,不同类型的OS ... -
利用(ffmpeg)生成视频缩略图(java)
2012-07-01 01:11 0对于上传视频生成缩略图使用的是ffmpeg进行生成的。 自己在 ... -
对Java多线程技术中所有方法的详细解析
2012-06-06 11:32 731一、run()和start() 这两个 ... -
java乱码
2012-06-06 11:33 914自从接触Java和JSP以来, ... -
学习apache commons-io类库中的文件清除器
2011-07-06 23:26 1370学习apache commons-io 1.4类库中的File ... -
java 正则表达式 过滤html标签
2011-05-24 15:10 5297前段时间开发的时候要读取一篇文章的简介内容(也就是前200个字 ... -
转---Eclipse中web-inf和meta-inf文件夹的信息
2011-05-24 13:08 1092Eclipse中web-inf和meta-inf ... -
logback与Log4J的区别
2011-05-17 23:34 1369Logback和log4j是非常相似 ... -
性能优化
2011-04-14 16:10 1117(1)jdbc性能优化 jdbc程序的性能主要由两个因素决定 ... -
JAVA的Random类(转)
2011-04-12 00:21 869Random类中实现的随机算法是伪随机,也就是有规则的随机。在 ... -
非阻塞的Socket链接
2011-04-10 21:59 850import java.io.IOException; ... -
创建临时文件
2011-04-10 21:55 1051package net.java2000.io; ... -
面向对象设计的基本原则
2011-04-07 10:28 1095摘自:http://soft6.com/tech/6/6501 ... -
proxool
2011-04-02 15:01 809属性列表说明: fatal-sql- ... -
当前Java软件开发中几种认识误区
2011-04-01 10:12 831越来越多人开始使用Java ... -
Java中查看一个方法被调用的层次(Reflection、StackTrace)
2011-04-01 00:53 1974package test; public class Mai ... -
反序列化时恢复transient字段
2011-03-30 13:20 1165我们知道将字段设置为transient,可以避免该自动被序列化 ... -
用socket连接服务器直接发送接收邮件
2011-03-22 17:22 1262首页 新闻 论坛 问答 博客 招聘 更多 ▼ 专栏 &l ... -
利用JavaMail收/发Gmail邮件(SSL)
2011-03-22 17:21 2283Gmail目前已经启用了POP3和SMTP服务,具体情况请看 ... -
Java 反射与内省
2011-03-14 22:08 1031一、java反射机制 JAVA反 ...
相关推荐
主要介绍了Java泛型的用法及T.class的获取过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
public class MyExpection<T> extends Exception{ } //编译错误 可以抛出(throws)泛型类,但catch的参数不能是泛型类。 注意: 编译时类型的泛型和运行时类型的泛型一定要一致,没有多态。 ...
“工欲善其事,必先利其器”,在Java程序开发过程中,很多算法(比如:MD5加密算法)、很多数据结构(比如链表LinkedList)已经实现并且大多放在类库的java.util包中,程序员只需要了解各种工具的功能就可以直接调用...
实例150 实例化Class类的5种方式 196 实例151 获得Class对象表示实体的名称 197 实例152 查看类的声明 198 实例153 查看类的成员 199 实例154 按继承层次对类排序 201 实例155 查看内部类信息 202 7.2 反射的进阶 ...
public class MainActivity extends AppCompatActivity implements View.OnClickListener { RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...
HttpRequest.reqquest(int,String,Parse<T>,Class<T>){....}; >原生string文本请求: HttpRequest.getString(String,AqsString){...} >单张图片请求: HttpRequest.setImage(ImageView,String,int,int){...} >多...
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
{4.6}泛型}{84}{section.4.6} {4.7}集合的迭代(Iterator)}{85}{section.4.7} {4.8}Collections集合工具类}{86}{section.4.8} {4.9}Comparable与Comparator}{86}{section.4.9} {4.9.1}Comparable}{86}{...