- 浏览: 68230 次
- 性别:
- 来自: 成都
最新评论
-
mission:
请问我获取到类后想要创建对象, 报错java.lang.Cla ...
再谈运行时动态修改注解 -
ljlowkey:
楼主import javacommon.util.String ...
基于Spring 3.0 Controller层单元测试 -
45088648:
依赖的包有吗
【支持动画GIF图像裁剪】Java实现图像裁剪以及压缩处理工具包 -
zhs471420954:
加入程序中执行没有效果啊,表名还是没有修改
再谈运行时动态修改注解 -
socialfist:
呵呵,虽然放弃了这种很费力也没多大用处的方法,但还是很感谢博主 ...
再谈运行时动态修改注解
文章列表
[置顶] 再谈运行时动态修改注解
- 博客分类:
- 字节码增强
前面贴出的《运行时动态修改注解》,好多同志私信于我表示不知道该怎么用?觉得有必要再谈一把~
在前篇文章中,提出了怎样动态修改注解的解决方案,需要说明的是更适用于POJO动态映射的范围较小的情况。(POJO需要动态映射的表结构相同表名不同这个范围就比较小,或者增加修改某个属性。。。),如果整个对象需要动态映射不同结构的表,那就完全没必要了!倒是可以做到,却没什么意义。相当于一个POJO通吃~ 如果需要动态映射的范围太大,你就需要考虑是否是你方案的问题了-- 有必要用憨包儿呢特吗?!一般来说映射的东西是配置性的,初始化时就定了。我们动态映射已经违背常伦咯 搞太多的特殊化,还是 ...
[置顶] 运行时动态修改注解
- 博客分类:
- 字节码增强
由于当前项目采用了分表策略,故一个实体会对应多个相同结构的表。只是映射的表名不一样而已~项目又使用憨包儿呢特,让我采用原生SQL总感觉不是那么爽,咋办呢?!第一念头就是如果能够动态映射就好啦,也就是现在想查table1只需将实体对应的table映射为table1即可。咋个实现动态映射呢?!也就是需要动态改变类的注解。又咋个能够动态改变类的注解呢?!本质上修改字节码,重新加载类即可,也就是所谓的字节码增强功能~ 看都看不懂字节码咋个修改呢?!还是需要站在巨人的肩上才行。ASM以及JDK自带的字节码增强都不用,马上想到CGlib,javassist。。。还是痛苦的折腾了良久,为了大家不 ...
今天在对基于Spring mvc架构的项目写单元测试的时候,本来想用@RunWith的方式轻松搞定它。不曾想还不是那么so easy,
一方面是controller层没有联系起来,再者就是SpringJUnit4ClassRunner启动就报不知道什么鬼错了。索性就换成mock方式,再熟悉一下spring容器加载机制也未尝不是一件好事~ 废话少说,直接上代码先!!!
测试基类
package com.andy.test;
import java.io.File;
import java.util.Arrays;
import jav ...
服务端javascript?! 是的,你没有听错,我也没有写错。就是服务端javascript!以前也许我们曾用过或者听说过Google GWT API可以用java实现Web前端,却没有听说过javascript也可以告别浏览器,另谋高就!
其实微软IIS早就有把javaScript包 ...
前一篇文章
我们分析了Java Proxy动态代理类,只是从表面知道他就是打着他人的旗帜,干着自己的勾当!
但是本质上还没有搞清楚它的非法运营模式,这一章我们就来模拟一下犯罪现场,以及解决前一章遗留的问题。模拟开始先~
一、定义委托高层接口
/**
* 模拟Java动态代理机制
*/
package com.demo.delegator;
/**
* 定义委托高层接口
* @author Andy
* @since 2012.02.17 15:59 PM
* @version 1.0
*
*/
public ...
曾几何时本人对Spring AOP感到神秘莫测,无比膜拜。感叹它的拦截功能无所不能,感叹它一统天下的
雄心壮志!
上周闲来无事,索性也来拦截一把!开始做起了代理商。。。
说到AOP不得不说到代理模式,说到代理模式又不禁联想到Java动态代理。正如你说猜想的,解决了Java动态代理机制Sping
AOP也不再是神话!现在开始探索Java动态代理机制先。。。
首先请看java.lang.reflect下有个proxy,不管三七二十几把它晒晒再说。
/*
* %W% %E%
*
...
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Iterator;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.image ...
佛印禅师(1032~1098),宋代云门宗僧。法名了元,字觉老,俗姓林,饶州浮梁(旧属江西省鄱阳郡,今属江西省景德镇市)人。自幼学习儒家经典,三岁能诵《论语》、诸家诗,五岁能诵诗三千首,长而精通五经,被称为神童。与苏轼友善,轼谪黄州,佛印住庐山,常相往来.
故事一
朝廷保守派复辟后,以砸缸著名的北宋著名文学家司马光重拜相位,新法全盘被废。此时,同为保守派的苏轼却主张对新法不能全盘否定,应存良箅渣区别对待,因此与司马光发生激烈冲突,再度被贬瓜州。
苏轼虽然信仰佛教,但又不喜和尚。闻得瓜州金山寺内有一法号为佛印的和尚名气极大,苏轼听说后不服气,就决定到山上 ...
eclpise debug 模式的线程经常会停在 ThreadPoolExecutor$Worker.run() 这是因未捕获异常导致的.
Configuring the behavior of Eclipse is straightforward - in the Preferences
Dialog, the Debug
pane under Java
in the tree hierarchy, has the option titled "Suspend execution on uncaught exceptions", which c ...
人们接触 JavaScript,都被他单纯的外表给骗了,殊不知,一下子又 FP 又 OO
又前台又跑到后台,活蹦乱跳。一旦你遇到某些障碍,面对的JavaScript也表现得脾气好,你怎么弄它,改造它,它也不会生气,却太容易让人迷惑,造
成 ...
包加载
首先声明,原本 JS
是没有模块库机制(module)的,这必然为创建实质项目带来很大的麻烦,毕竟,我们的目标,还是要创造一个系统的、科学现代的、规范合理的控制各逻辑
代码的边界,否则如果是一种落后的管理机制那就是一块明显的短板。nodejs 本身没有发明一种“新的”模块管理方式,而是直接继承自志愿者组织的
CommonJS 规范作为模块管理的规范,所以开发 nodejs 的开发者都应遵守该规范。Nodejs 本身就有几个已编译到进程之中的模块。
用法简介
要使用这些定义好的模块,一般的做法是调用 require(包名称的字符串),分到某个局部变量。 ...
nodejs 其源码大体上分 C/C++ 的和 JS 的,JS 文件主要集中在/lib目录里面,但别处 /src 中却有一个非常重要的
node.js(process.js) 文件,它是初始化 nodejs 的文件,在调试的时候也会经常断点在该源码上。本文基于 nodejs
0.2.0 的版本来围绕这份初始化文件谈谈对 nodejs 的认识。若不足之处,敬请提出!
nodejs的全局对象
相对于某些代码依赖于访问特定的包才能够使用的情况,nodejs 提供若干的全局对象(Global
Objects)。也就是说,全局对象就可以免依赖某个包,任何时候任何地方都可以直接 ...
自从NODEJS问世以来,我们注意到的一个现象是,开源生态围绕Nodejs的扩展(Extends)、插件(Plugins)或工具
(Tools/Utilis)在不断地增多,可见当中之蓬勃。这一方面固然很好,但这里却不是重点讨论那些扩展或者插件,而是调试工具(debugger)本身。因为,没有一个调试工具,无法展开一丁点的开发工作,或者困难重重。大家心知肚明,调试器自必然不可或缺。官方
nodejs.org对调试器的态度也是不含糊的。原来,官方一早在nodejs内置基于Eclipse debugger plugin for V8
调试器的接口,为调试提供安排一套解决方案;另外还有一 ...
新型的服务端正在进入我们的视野,让我们投入了关注的目光,例如近来的 NodeJS
算比较抢眼的一员。
之所以创造NodeJS
,引用原作者 Ryan 之
语,目标是为了可以更轻松地编写具有可伸缩性的网络程序。咋一想,这样的目标 ...
Node.JS是资深C程序员Ryan
Dahl(http://four.livejournal.com/)的作品,依据Google著名的开源JavaScript引擎V8来进行二次开发
的Web
I/O服务器(http://nodejs.org/)。V8本身是非常快的JavaScript引擎,处理JS执行运行的速度非常高。相关测试表
明,FireFox、Opera和IE的JS引擎速度都不及V8来得快。而且,还可以说,只要浏览器之间的JS引擎大战一日不减,NodeJs就可以从中
受益。有竞争才有进步:)。
NodeJS基本用法也是十分简单明了的,我们看看一下 ...