- 浏览: 122396 次
- 性别:
- 来自: 成都
-
最新评论
-
12278984:
printf "%x\n" 49037
Linux下JAVA线程占用CPU高一点分享 -
yzhw:
这个好象不是apache2.2,2.2里包括了mj
Apache2.2+Tomcat6配置集群、负载均衡、session复制随笔 -
lxiaodao:
确实还没有仔细想过线程安全的问题,但是这里需要线程安全么,请详 ...
基于hibernate的通用、”万能“Dao的设计(一) -
yuanhuiwu:
------------父类
protected Class& ...
基于hibernate的通用、”万能“Dao的设计(一) -
lxiaodao:
静态检查三个工具任意选择,我知道有公司三个工具都用起来了的,代 ...
项目工程完整ANT build脚本
文章列表
实用hibernate时候,构建DetachedCriteria查询对象(能够跨对象)就能满足很多的查询需要,推荐使用。
把通用的一些查询方法放入BaseDao,使用非常方便,举例如下:
(1)接收DetachedCriteria对象的查询
@SuppressWarnings("unchecked")
private List<Object> doExecute(final DetachedCriteria detachedCriteria, final Integer start, final Integer limit) {
De ...
万能Dao,应该说绝大多数情况下,它就能提供足够多的操作数据库的功能。
@Repository
public class UniversalDao extends BaseDao {
/**
*
* @param o 保存实体对象
* @return 主键
*/
public Serializable save(Object o) {
return this.getSession().save(o);
}
/**
* 新增或者更新
*
* @p ...
通用泛型Dao
/**
* 封装通用的DAO(Data Access Object)类,处理常用的CRUD操作。
* 对于简单操作,建议扩展此类使用,如:UserDao extends GenericDao<User, Long>
* <br/>
*
* @param <T>
* 域对象类型
* @param <PK>
* 主键类型
*
* @author lxiaodao 不再继承 HibernateDaoSupport,自动注入sessionfacro ...
/**
* 基础Dao层,主要放置通用的一些方法
*
* @author lxiaodao
*
*/
public class BaseDao {
protected Logger log = LoggerFactory.getLogger(getClass());
@Autowired
protected SessionFactory sessionFactory;
protected Class<?> entityClass;
public BaseDao() {
} ...
克隆有“浅层克隆”、深层克隆,什么情况下需要深层克隆,个人有点想法,且看代码:
public class DeepClone implements Cloneable {
private int type;
private final String special;
private Flower aflower;
private int size = 0;
private Flower[] elements;//DeepClone自己管理这部分内存
public DeepClone(int type, ...
一个内容仓库(repository)由一个或多个工作空间(workspace)组成,每一个工作空间包含一个由item组成的树,一个item是一个节点(node)或者属性(property)。每个节点(node)可能有零个或多个子节点以及零个或多个属性。每个工作空间只有一个没有父节点的根节点。所有其它节点都有父节点。属性必须有一个父节点(a node)并且不能有子结点;它们是树上的叶子节点。实际上在仓库中所有的内容都是以属性值的形式存放的。
缺图
在上图中,我们可以看到某个工作空间中的根节点以及它的子节点a,b和c,每个节点都有更深一层次的子节 ...
内容仓库JSR170规范-第三章 使用场景2
- 博客分类:
- 内容管理
3.2 资源处理(个性化)
PersonalizeIT 软件公司,这个个性化可移植软件的提供者需要能够对元信息和内容进行集成和管理的内容管理系统。
由此,内容管理市场历来非常多元化。PersonalizeIt 已集成于多个不同的API。这意味着PersonalizeIt 需要花费大量的时间熟悉这些开发者的API,并维护包含了多个内容管理提供者开发的不同API的兼容性。
缺图
自从采用了这个标准,PersonalizeIt提供了一个标准接口来适应知识库。这样他们不再维护各种各样的集成,而是聚焦于 ...
3.1 数据交换
ENT是一家大的分布式企业,在不同的分公司有不同的内容管理系统。他们的知识管理团队对于如何通过各种各样的内容仓库产生更好的共同价值已经有了想法。该团队根据内容仓库Java技术API在内容管理系统实现了应用。当该团队在企业中发现更多的内容管理系统的时候,该应用能够轻易的收获新的数据,就如同已经存在的系统一样。除此之外,在基于以JSP为主的Java框架的规范上面的包括公司共同的设计方针的表现模板已经开发完成。
缺图
一年后,两个分公司交换了他们的内容提供商。作为交换过程中的一部分, ...
Hbase官方已经给出了client示例代码,Getting Started文档里面有说明,就不重复了。
这里想告诉大家的只是远程连接的配置,简单得很,但是想从文档里面找到,还是得花点时间,所以直接告诉大家,希望有一点点帮助。
hbase-site.xml
<configuration>
<property>
<name>hbase.master</name>
<value>129.168.250.14:60000</value>
<description>
The host an ...
说明:以后本人展示的代码,不管是拷贝上来的还是自己写的,加上@亲自执行的标签表示读者需要动手执行才能看见结果,以便体验读写代码的乐趣,而不是为了调大家胃口或者其它目的,感谢大家一起分享和阅读。
慎用重载 ...
(1)可变参数允许你传多个参数或者0个,有时侯会造成困惑
static int sum(int... args) {
int sum = 0;
for (int arg : args)
sum += arg;
return sum;
}
System.out.println(sum());
System.out.println(sum(10));
有时侯,我们是应该明确编写需要1个或者多个参数的方法,而不适0个。
如果你不小心,写了这样的多个方法
static int sum ...
1、clone方法的通用约定是非常弱的
x.clone()!=x
x.clone().getClass()==x.getClass()
x.clone().equals(x)
都不是绝对的要求
2、Clone方法就是另一个构造器,你必须保证它不会伤害到原始的对象,并确保正确地创建被克隆对象中的约束条件。
3、clone架构与应用可变对象的final域的正常用法是不兼容的。
4、深度clone,典型例子HashTable
5、线程安全的类实现Cloneable接口,clone方法必须实现好同步:HashTable。
public class DeepCl ...
完整的ant脚本,包含javac、javadoc、checkstyle、findbugs等等脚本命令。如果你还没有完整的ant脚本来管理工程,请参考使用此脚本,肯定给项目的管理带来很多好处。Ant脚本在手,管理工具不求。
静态代码检查工具三剑客,Checkstyle、findbugs、pmd的task都包含了,呵呵。请注意看清楚命令中的版本,这三个工具都可以从网络下载。
目录的结构个人喜好不一样,如果你的目录结构和我的不一致,请修改脚本中对应的参数。
目录结构说明图:
Ant脚本如下:
<?xml version="1. ...
遇到多个构造器参数时要考虑用构建器,且看最佳实践代码
public class NutritionFacts
{
private final int servingSize;
private final int servings;
private final int calories;
private final int fat;
private final int sodium;
private final int carbohydrate;
publi ...
基于springside3的Dao层设计思路,我按照个人想法改进了设计。基本的BaseDao,提供很多通用的操作方法,可以方便地扩展;设计一个泛型GenericDao,设计一个理想的万能UniversalDao(不能用于多数据源);
springside3.1.2通过在service中注入sessionFactory的方式,间接new出来任何daomain的Dao,这样的方式我觉得不是很好,但是我仍然保留了泛型dao的这个能力。代码片段如下:
public GenericDao(SessionFactory sessionFactory, Class<T> e ...