2007年5月23日
摘要: 本想好好总结一下java的学习经验,无奈忙啊忙.......
有总比没有好吧。还是总结了一点点,要过一段时间才能回到java上来咯。
有需要的可以下载总结看看,目录如下:
一、开发环境中对JDK 的处理 3
二、开发环境中对Eclipse的处理 4
三、开发环境中对eclipse插件的处理 5
四、绿色环境下启动java程序 7
五、在eclipse查看中文JDK文档帮助 9
六、eclipse中更换工程的jdk版本 11
七、eclipse使用jad查看class文件源码 14
八、[JNI] Eclipse直接完成JAVA调用C/C++ (Eclipse上结合MinGW使用CDT) 15
九 使用myeclipse 发布Web Service(xfire) 21
十 使用jdk1.6发布web service 29
十一 使用xml字符串装载数据和卸载数据 34
十二 JavaBean实现属性约束 46
十三 明明白白AspectJ
阅读全文
posted @
2007-09-06 23:37 三告习习 阅读(2040) |
评论 (7) |
编辑 收藏
摘要: 使用xml格式字符串转载数据和卸载数据,在数据传送时可以使用,避免直接对节点和属性等操作。
也可用来读取配置文件。
Root类:
Root是跟节点。结点名默认为"root",但是可以根据需要改变,使用setNodeName(String nodeName)。
put(String key, Object value)是添加属性值。
setValue(String value)是设定节点值。
parseXml(String xml)将xml字符串解析出Root对象。
toXml()将Root对象转为字符串。
addItem(Item item)为添加子节点。
阅读全文
posted @
2007-08-15 01:08 三告习习 阅读(1477) |
评论 (0) |
编辑 收藏
摘要: 找到了不错的工具:
(1) CHM_To_PDF_Converter_Professional_v3.4
(2) pdf2all
(3) 电子文档处理器(eTextWizard)
阅读全文
posted @
2007-08-13 00:42 三告习习 阅读(4710) |
评论 (4) |
编辑 收藏
摘要: 前面已经提过EasyDBO的处理关联上是有问题的。这里进入查看。
前面也给出了一个简单的方法来处理一对一、一对多的关系(多对对暂不处理)。但是,如果你用将autocommit设定为false时,却也不能获得想要的结果。
阅读全文
posted @
2007-07-19 01:13 三告习习 阅读(1052) |
评论 (0) |
编辑 收藏
摘要: 在前面《[AspectJ] 明明白白AspectJ (1) 》中用例子说明了AspectJ的确是代码生成器。
现在,同样的方式,将官方提供的例子“Bean Example”(File -->New -->Project -->AspectJ -->AspectJ Examples --> Bean Example)简单剖析一下。Bean Example主要是利用AOP来实现属性改变通知,效果像观察者模式来关注bean的属性,但它是用java.beans.PropertyChangeSupport来实现的。如果你对java.beans.PropertyChangeSupport用法不了解,可以参考我以前的一篇随笔《[java 拾遗篇] JavaBean实现约束属性简单例 》。
阅读全文
posted @
2007-07-14 19:03 三告习习 阅读(3429) |
评论 (2) |
编辑 收藏
摘要: 编写程序发布脚本
阅读全文
摘要: 以前看LumaQQ(2006版)时做的一点简单记录,主要是关于LumaQQ登陆服务器和通讯时数据包的加密和解密情况。
阅读全文
posted @
2007-07-12 14:19 三告习习 阅读(7183) |
评论 (8) |
编辑 收藏
摘要: http://www.ibm.com/developerworks/cn/java/l-aspectJ/index.html中介绍了What is AspectJ 。
AspectJ是一个代码生成工具(Code Generator)。
AspectJ语法就是用来定义代码生成规则的语法。您如果使用过Java Compiler Compiler (JavaCC),您会发现,两者的代码生成规则的理念惊人相似。
AspectJ有自己的语法编译工具,编译的结果是Java Class文件,运行的时候,classpath需要包含AspectJ的一个jar文件(Runtime lib)。
....
看了上面几点,我就想看看它怎么把代码生成了。现在做一个试验。
阅读全文
posted @
2007-07-12 01:12 三告习习 阅读(5176) |
评论 (6) |
编辑 收藏
摘要: 在某些情况下,我们可能需要同一个实体bean对应着多个数据库表,比如,你的数据库表是按照每个月添加一个,但是对应的实体bean并没有改变。这个时候,我们就需要支持表明变换了,否则,难道你每个月改变一下orm映射配置吗?如果每天都换一个表呢?
阅读全文
posted @
2007-07-06 10:42 三告习习 阅读(953) |
评论 (2) |
编辑 收藏
摘要: EasyDBO上对象关联还是存在很大问题。
其中一个,添加对象时,没能将被关联对象的主键(由数据库生成)插入到关联对象的外键上。
下面是我的一个解决方法
阅读全文
posted @
2007-07-02 18:15 三告习习 阅读(1181) |
评论 (3) |
编辑 收藏
摘要: EasyDBO的实体配置,如果实体存在双向关联,并且lazy都设定为false的时候,就会产生堆栈溢出异常。
为什么会导致堆栈溢出呢?
比如存在A实体和B实体。
阅读全文
posted @
2007-07-02 14:02 三告习习 阅读(1014) |
评论 (0) |
编辑 收藏
摘要: 某些时候,你插入一条记录后要马上知道刚才插入记录的id(自增类型),那么下面的方面可以满足你的要求
阅读全文
posted @
2007-06-29 18:35 三告习习 阅读(1589) |
评论 (2) |
编辑 收藏
摘要: 用着用着,突然发觉EasyDBO并没有实现到它声称的功能。
如,当你的实体有一对一关联或者一对多等关联时,它并没有能够正确地处理外键值(当关联的主键为自增类型时,插入关联对象获取到外键为空,被关联的对象虽然能插入,但是这样有舍用呢?)。
看看它处理的过程就知道它不能正确出来外键值了。
阅读全文
posted @
2007-06-28 23:10 三告习习 阅读(1228) |
评论 (4) |
编辑 收藏
摘要: 郁闷~~~~~~~~~~
搞了半天,发现一对一的被关联对象没有连同关联对象也一同插进数据库里。
跟了一下源代码,发现EasyJDB的addRelativeObject(Object obj)方法没有对OneToOneField进行处理!只对ManyToOneField和ManyToManyField进行处理!但是OneToOneField却是最常用的!
阅读全文
posted @
2007-06-28 18:09 三告习习 阅读(737) |
评论 (0) |
编辑 收藏
摘要: 近来使用EasyDBO发现一些问题。
首先,DBTable中的id命名意义不明朗,这个id你猜是数据库表的key还是javaBean对应于数据库表key的属性?我的猜测是前者,数据库表的key(主键的名称)。
阅读全文
posted @
2007-06-28 12:17 三告习习 阅读(1191) |
评论 (2) |
编辑 收藏
摘要: java.beans.PropertyEditor的从字义来看是一个属性编辑器,但总觉得它的作用更像一个转换器--从字符串转换为类对象的属性。
阅读全文
posted @
2007-06-26 16:46 三告习习 阅读(6686) |
评论 (0) |
编辑 收藏
摘要: 写了一个从数据库表映射到实体的工具配合easyDBO使用,需要知道指定表的主键,这个方法可以得到主键字段名:(数据库MySQL5)
阅读全文
posted @
2007-06-25 17:52 三告习习 阅读(1690) |
评论 (0) |
编辑 收藏
摘要: EMF-Query 的查询语句结构也是很简单的
SELECT
FROM [source]
WHERE [condition]
很像我们平常的SQL语句吧,但是不同的是SELECT、FROM 和WHERE 都是由对象来组合的。
阅读全文
posted @
2007-06-12 22:42 三告习习 阅读(1364) |
评论 (2) |
编辑 收藏
摘要: 同样的测试语句,官方例子中的模型可查得数据,我简化后(自己建的模型)却得不到结果。是建模的方法不对?还是要注意一些什么问题?
阅读全文
posted @
2007-06-12 17:26 三告习习 阅读(496) |
评论 (1) |
编辑 收藏
摘要: Attribute和Reference是模型中的其中两大元素,通常我们查询都会根据Attribute和Reference来查询。EMF-Query中提供了针对这两种元素的封装了条件类哦,怎么使用?easy~~
阅读全文
posted @
2007-06-11 19:00 三告习习 阅读(1174) |
评论 (2) |
编辑 收藏
摘要: EObjectCondition ,从名称上就可以意会到它是有关EObject的条件了。EObject和EMF的模型是关联的,那么,EObjectCondition 当然就是与EMF模型有关咯。比如,你的商店shop聚集了很多个商品的种类categories,你可以根据EObjectCondition 来查询商店shop中是拥有某xxCategory的商品。条件怎么构造?这个章节回有所介绍咯!呵呵,接着下去吧。
阅读全文
posted @
2007-06-10 15:10 三告习习 阅读(1103) |
评论 (0) |
编辑 收藏
摘要: 在某些情况下,你对某些值的比较上可能会遇到形式上的不一致。比如你要判断一个日期是否在某个时点之后,你当然可以重写你的条件判别逻辑,但是,可能那不是最好的方法。简单的一个方法就是:将日期化作long型数值,这样你就只需比较数值大小了。
现在,看看整体上简单条件(值条件)的适配器的整体结构,以及怎样去实行上面所提到的问题
阅读全文
posted @
2007-06-10 13:46 三告习习 阅读(945) |
评论 (0) |
编辑 收藏
摘要: EMF Model Query Framework 提供了很多方便使用的条件,这些条件实现了用于简单的数据类型断言。包括strings, numbers, 和 booleans. 这些条件用于模型元素的EAttribute之间所进行的逻辑操作.。
阅读全文
posted @
2007-06-10 03:37 三告习习 阅读(1171) |
评论 (0) |
编辑 收藏
摘要: 这一段时间在学习EMF,EMF在网上的资料已经不少,对入门来说,可以看看八进制博客上的文章。你可以在这里找到链接http://www.cnblogs.com/bjzhanghao/category/38915.html 。在这里暂不作EMF的入门介绍了。后面一些篇章的模型查询会用到一些实例,模型沿用八进制的EMF例子中的模型,这样或许能节省我对EMF入门的重复介绍,又能扩展八进制的EMF教程,这种方式应该不难令人难接受吧,呵呵,希望八进制兄不要介意咯。
阅读全文
posted @
2007-06-10 02:40 三告习习 阅读(1544) |
评论 (0) |
编辑 收藏
摘要: Abstract Factory 模式的意图:
需要为特定的客户(或者对某种情况)提供对象组
Abstract Factory 模式将问题(根据职责)分解为:
1.谁在使用我们的特定对象(Client)
2.谁来决定使用哪些对象(AbstractFactory)
阅读全文
posted @
2007-06-05 18:45 三告习习 阅读(1707) |
评论 (3) |
编辑 收藏
摘要: java.beans.PropertyChangeSupport通过注册PropertyChangeListener可以令属性在运行或者设计时被修改后,可以自动地通知外部世界。
java.beans.VetoableChangeSupport通过注册VetoableChangeListener有能力拒绝被设置为某个数值的属性。如果fireVetoableChange方法抛出了一个PropertyVetoException例外,就表明监听者已经拒绝了属性的改变,属性改变将不会生效。
例子很简单,看看就会明白,不多写解释了,看例子吧!
阅读全文
posted @
2007-06-05 16:24 三告习习 阅读(1496) |
评论 (2) |
编辑 收藏
摘要: 网上都有很多在windows平台下JAVA调用C/C++方法的介绍说明。但是,在此过程中,绝大多数都是利用VC等其他工具来进行DLL的生成。试想一下,在eclipse平台开发了JAVA,突然又要打开VC的工作环境,多不爽!何况如果内存不够的话,还得先把其中一个退出。到需要再重新打开,多费劲啊!!现在,我们让这一系列的工作都在eclipse上完成!
阅读全文
posted @
2007-05-24 11:21 三告习习 阅读(48279) |
评论 (32) |
编辑 收藏
摘要: 今天看了八进制的《利用Digester把XML转换为Java对象》,感觉挺好。你可以在这里http://www.cnblogs.com/bjzhanghao/archive/2007/05/15/125747.html访问。加上混北民工的在评论中更详细一点的例子。终于对Digester有了初步的了解。但是,对于详细返回对象,在八进制和混北民工的例子中表现得不是十分明朗。下面,我对例子做了一些修改,使Digester的规则表现清晰一些,另外添加配置规则来代替代码入注规则的运用方法。
阅读全文
posted @
2007-05-23 15:00 三告习习 阅读(5271) |
评论 (2) |
编辑 收藏