以前一直用 FirstName,LastName来进行设计,一般来说FirstName代表名,LastName代表姓,但咱中国人可不是这么整的,小日本,韩国也不是这么整的。
在gmail里发邮件时,在发件人里看见自己的名字在前姓在后,别扭啊。
想设计个比较好的结构
1. FullName ,FamilyName设计,个人觉得LastName代表姓,完全是按照老外自己的习惯而言的,从字面看就是后一个名字,有歧义,还是用FamilyName来表达姓比较好。之所以要这个FamilyName,无非是有时需要,Welcome,Mr Gui,或者桂先生你好等。
2. FirstName,LastNa ...
Maven的依赖管理的确是个好东西。但在集成构建方面,Ant显然更好。今天试用了一下maven-ant-task这个工具,感觉非常不错。可以在ant中调用maven的依赖
首先需要定义maven-ant-task,以及maven的pom路径
<!--使用Maven2依赖管理 -->
<path id="maven-ant-tasks.classpath"
path="lib/maven-ant-tasks-2.0.8.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.x ...
双向关联,lazy
Global Refrence Key, TreeOid,每个对象都有一个String描述其唯一性
非常好的项目,首先他是中国人开发的,太棒了!
http://www.commontemplate.org/zh/index.html
自家人提点意见和建议
1. 不可以函数调用
禁止函数调用,避免在模板中引入业务逻辑。(允许配置开启非void函数调用)
看了这条,我便不打算使用CTL
因为我每天都在使用freemarker,freemarker中不能调用static 函数的问题,让人很气愤。CTL居然直接不能调用函数,太费解了。
$for(user:UserFunc.usersOf(group))
...do something with user info...
这种事情,很常见
除此之外 ...
看到了段代码,贴出来聊聊
public class Persistent implements Lifecycle, Validatable, Serializable {
protected Long _id;
protected int _version;
protected boolean _versionCheckRequired;
public Long getIdentifier() {
return _id;
}
public void setIdentifier(Long id) {
...
- 22:44
- 浏览 (1161)
- 评论 (6)
- 分类: java
- 进入论坛
- 发布在 Light-commons 圈子
以下几个Java官方文档描述了一些java区别于其他语言的特殊性
反射
http://java.sun.com/javase/6/docs/technotes/guides/reflection/index.html
Proxy
java.sun.com/javase/6/docs/technotes/guides/reflection/proxy.html
Annotation
java.sun.com/javase/6/docs/technotes/guides/language/annotations.html
Annotations
Many APIs require ...
程序经常需要用到配置文件,但我们又并不想关心何时读取配置文件,于是写了如下代码,备忘:
/**
* 2007-4-28 下午03:24:37
*/
package kindsoft.auth.internal;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import kindsoft.auth.Configuration;
/**
* the t ...
The heap is the area in memory in which objects are created.
// Get current size of heap in bytes
long heapSize = Runtime.getRuntime().totalMemory();
// Get maximum size of heap in bytes. The heap cannot grow beyond this size.
// Any attempt will result in an OutOfMemoryExcepti ...
1. 使用tomcat plugin,eclipse 插件,可以运行,可以调试,可以看见jsp编译的中间文件,缺点是需要把项目建为tomcat项目,导致在未装tomcat plugin的电脑上无法直接导入项目。 2. 使用WTP,eclipse官方的web IDE,好处是可以编辑html和jsp的代码,还可以编辑xml,缺点也是需要将项目建立为动态网站项目,导致在未安装wtp插件的eclipse环境中无法直接导入项目。 3. maven jetty plugin ,挺方便,如果是用maven管理的项目,可以用它,只需要在命令行运行 mvn jetty:run 即可,缺点是,只适用maven ...
在C世界,对代码进行加密,主要通过加壳的方式。所谓加壳,就是先将程序代码加密,然后用特定的程序加载器,将代码解密后加载进内存,这样可以在防止代码的反编译,当然,有加壳工具,也有解壳工具,虽然不能100%防止crack,但仍然给代码增加一层有力的保护。
然而在java世界,保护代码是件很困难的事情,因为class文件非常规范,极易反编译,且反编译后的代码清晰可读。常见的保护办法是使用混淆器,打乱class和function以及变量的名字,可以干扰反编译后的代码的可读性。虽然简单提高了代码的安全性,但还仅仅相当于未加壳的C程序。
java可以加壳吗?以前我认为这是不可能的,因为动态加载代码这样 ...
查看了javadoc,google了,没有找到好的答案,有个例子指出了一种方法,给一个入口Class,搜索这个Class所继承,引用的Class,以及这些继承引用的Class所继承引用的Class,如此递归下去,得到一个Class的List。但这种方法不能达到我的目的,我所能知道的只有package name,没有任何相关的class,如何才能或的这个package下的Class对象的list呢?
什么是crazyPOJO?
是一个基于jdk5 annotation的辅助api包,主要用于POJO的操作,将被设计成0依赖(不依赖其他的jar文件),最简化,速度优先的api包。
为什么编写crazyPOJO?
因为最近发现equals,clone,hashCode,toString这类的简单方法充满了太多的重复代码。
使用xstream导出pojo为xml时,不能定制导出字段。
还会加入其他的新功能。如pojo2xml,pojo2json,json2pojo,xml2pojo
一切与pojo有关的方法都可能被加入。
如何使用crazyPOJO?
在关键的字段的getter ...
Tapestry5最新check下来的代码,中文问题还没有解决,无奈之下修改了Tapestry5的源码。对properties,html,以及后台java文件中传入的中文都能很好的支持,对浏览器端输入的中文,服务器端也能很好的接受了。
jakarta-commons-lang已经实现了HashCodeBuilder类,据闻在Hibernate中出错,所以还是选择了自己实现,编码思想来源于 Effective java 一书。而且0依赖。
java 代码
import java.lang.reflect.Array;
public class HashCodeBuilder {
public&nbs ...
当发生LazyInitializationException时,需要使用Hibernate.initlize,但在spring的 HibernateDAOSupport中取出的对象,进行Hibernate.initlize时会被告知,session已经关闭。只能在 Spring封装的Hibernate操作内部进行。
java 代码
return (MyEntity)getHibernateTemplate().execute(
new Hiberna ...
A.java
@Entity
class A{
@ManyToOne(cascade = {CascadeType.ALL})
B getB(){
}
}
B.java
@Entity
class B{
...
}
多个A对象对应一个B对象,因此当新建,更新A对象时应当创建B对象,但删除A对象时不应当删除B对象。
但如果A的cascade = {CascadeType.PERSIST,CascadeType.MERGE}的话在保存的时候就会有瞬时对象的错误。
但改成@ManyToOne(cascade = {CascadeType.ALL})则不合理 ...
- 浏览: 183892 次
- 性别:

- 来自: 安徽

- 详细资料
搜索本博客
我的相册
分形大厦
共 10 张
共 10 张
最近加入圈子
链接
最新评论
-
Person对象中"姓-名"的 ...
jasongreen 写道都别装了 写道数据库还是叫first / last n ...
-- by 都别装了 -
Person对象中"姓-名"的 ...
我搞不懂的是老外为什么一定要把first name和last name分开,直接 ...
-- by quaff -
Person对象中"姓-名"的 ...
都别装了 写道数据库还是叫first / last name 在页面显示的时候做 ...
-- by jasongreen -
Person对象中"姓-名"的 ...
数据库还是叫first / last name 在页面显示的时候做i18n不就好 ...
-- by 都别装了 -
Person对象中"姓-名"的 ...
e文 显示时候就颠倒下顺序不就得了。。
-- by 叶子






评论排行榜