在J2EE的代码生活上,不知不觉,就走了3年多了。一直在摸索,在前进,可是,在内心,不停的纠结着,我们真的需要这么多框架,这么多层次,这么多所谓的一套又一套理论吗。在我们的开发中,不停的集成添加更多框架,JAR包越来越多,几个,几十个,几M,几十M,甚至上百M。当初为啥要用这种那种的框架,为啥要引入这套那套理论,简单说,不就是为了开发更加方便,速度更加快捷,维护更加容易吗?但是,现在各种框架我们都有了,难道我们的开发真的就快捷了吗?我们的维护更加轻松了吗?我们的后期扩展更简单了吗?不,不是的,至少我感受到的不是这样的。而且我越来越模糊,Spring是什么,Ibatis是什么,Struts是什么,WebWork是什么。还有Hibernate,SiteMesh,Velocity,freemarker,Struts 标签,JSTL等等,太多了,多得让人眼花缭乱。我们要用Spring,为什么,他的特性是什么,原理是什么?
文章一:
使用Synchronized关键字同步类方法:http://wjh2-316.blog.163.com/blog/static/278727532009113061849658/
文章二:
使用Synchronized块同步方法 : http://wjh2-316.blog.163.com/blog/static/278727532009113061934438/
...
本博客关于Java项目开发中的乱码解决文章已经有很多了,如 { [又一次成功解决Mysql乱码问题] [再谈乱码问题,如何解决MYSQL数据中文乱码问题] [解决jsp,tomcat,MYSQL下中文乱码问题] },但是,每次总是有很多不同的地方,往往不能通过以前的方式来解决,或者总是有很多的不同,以至于没法解决.
3:添加Maven运行环境变量,具体方法:[我的电脑]->右键,[属性]->[高级]->[环境变量]==> 添加一个环境变量: 变量名: MAVEN_OPTS ,变量值: -Xms256m -Xmx512m -Dfile.encoding=UTF-8 , (其实只要-Dfile.encoding=UTF-8这个就可以解决乱码了,另外两个可以不用.)
好了,Maven中编译时遇到JAVA直接写的中文乱码问题解决了.
2: 给服务器(包括开发员本地开发环境的电脑)设置环境变量(步骤就不说了,参数前面),添加一个环境变量: 变量名: nls_lang ,变量值: AMERICAN_AMERICA.AL32UTF8, 这样,所有的开发环境和发布环境都统一了,中文乱码问题也OK了 .......................
《Java程序员 上班那点儿事》第2章软件开发职业的误区。我们上一章了解了应聘公司和面试过程,对程序员这个职业有了一个初步的认识,那么,在本章中要说另一个话题,这是在软件开发职业领域里经常出现的对软件开发职业的误解,这些误解有的时候会成为新程序员的"思想加锁"。本节为程序员们就是一般人。
2.4.2 程序员们就是一般人
2.4.2.1 工作和生活是两个事情
2.4.2.2 程序员的头发与桌子:一个有趣的现象,一个程序员桌子越乱,他的头发就越乱,不知道是巧合,还是必然规律。
2.4.2.2.1 头发问题
2.4.2.2.2 桌子问题
2.4.2.3 编程序要多多补充水分
2.4.2.4 增加运动保护视力
《Java程序员 上班那点儿事》第2章软件开发职业的误区。我们上一章了解了应聘公司和面试过程,对程序员这个职业有了一个初步的认识,那么,在本章中要说另一个话题,这是在软件开发职业领域里经常出现的对软件开发职业的误解,这些误解有的时候会成为新程序员的"思想加锁"。本节为程序员的平凡。
2.4.1.2 程序员的平凡
2.4.1.2.1 逻辑思维推理能力强,但容易钻进牛角尖
2.4.1.2.2 有强烈的危机意识,但总是患得患失
2.4.1.2.3 有完美的控制意识,眼睛里揉不得沙子
2.4.1.2.4 人生的战略规划意识,把人生当成编程
2.4.1.2.5 强烈关注开发细节,忽略的自己的身体
今天在工作中遇到一个问题,公司使用了一个自定义的类型:Money,而数据库是没有这种类型的,对应的数据库字段的类型为BigDecimal. 开始时,我没在意这个问题,按照一般的作法写好SQLMAP,运行,发现出了问题,后来仔细一想,发现了这个自定义类型Money的问题,在Ibatis 里,是没有默认的方法可以解析或映射我们的自定义类型的.
那怎么办呢,经常一番Google,以及我的聪明才智,最后完美了解决了一个问题.
在Ibatis中,已经提供了解决方案,就是使用Ibatis的TypeHandler , 这种方法呢,其实应该说是有点繁琐,但是,没办法,只能这么做了.
具体办法如下:(本文原创文章,转载时请注明文章来源:巴士飞扬技术博客:原文地址: http://www.busfly.cn/post/Ibatis-java-sql-sqlmap-class.html )
第一步:添加自定义类型Money的TypeHandler类.................................
好了,这个类就写好了,如果还不熟悉的,可以再去看看Ibatis自带的常用类型映射到SqlMap的类(全部在Ibatis包 的:com.ibatis.sqlmap.engine.type包下),如 BigDecimalTypeHandler,BooleanTypeHandler,ByteArrayTypeHandler,ByteTypeHandler,DoubleTypeHandler 等等,里面很多的.
当然也不只能按照上面这么方法写,在看了Ibatis包的:com.ibatis.sqlmap.engine.type包下的类时,发现还有其它的写法,这里就不详细介绍了,但是其写法的麻烦程度不在这个方法之下,有兴趣的朋友可以去看看.
第二步:在你的SQLMAP映射文件里,在相应的映射字段后面都加上 typeHandler="com.*.*.*.util.MoneyTypeHandler" , 如下:................................
好了,这样两步走就OK了,思路很清晰,说麻烦也不麻烦,说不麻烦,其实也还是很麻烦的,在SQL映射文件里,每个用到这个类型的地方都要进行上面的写法,但是,不管怎样,目前来说,只能这么做了.
今天在做项目时,突然发现一个同事在使用Velocity时,写了一些以前我没见过的代码,很是好奇,经过打听,才知道,那些特别的代码原来不是Velocity的标签或者功能,原来是Struts的标签.具体情况是这样的:我们目前项目的开发,使用的是Spring2.5+Struts2+Ibatis2+Velocity,在做一个表单时,我原先写的Velocity代码如下: .......
当时看到这段代码时,我很是惊喜,代码量减少了大半,我开始以为是Velocity的更高级用法,但是,经过仔细的思索,后,觉得这不是Velocity的语法,而像另一种标签的语法,Struts2的标签.经过一问,果然和我的猜想一样..............