马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622 。
您需要 登录 才可以下载或查看,没有帐号?注册
x
Liferay其实不单单是一个开源的门户产品,同时也是一个很好的开发框架。 Liferay采用了MDA(模型驱动开发架构)的开发模式,具体来讲,就是开发一个模块前,需要先通过配置定义Model, Service,通过ServiceBuilder工具根据定义自动创建dao, service interface, service impelmention, util facade, 此外,也通过custom-sql机制让用户进行扩展。有了这个MDA的概念之后,你就能比较顺利的了解Liferay的开发模式。smilingleo原创 1、对于简单的应用,可直接通过service定义后build-service-xxx; 2、对于复杂的应用,可以先在ServiceImpl类中实现对应的类,然后build-service-xxx将这个方法(接口),自动繁衍到所有的Service, Util类中。(从底层到顶层的驱动) 具体来讲: 1、在service.xml中定义Relationship及Finder方法(可以不定义),之后运行ant build-service,这样就可以生成对应的Util, Persistence, PersistenceImpl类及对应方法; 具体来说,是在Persistence中添加addRelatedObject,addRelatedObjects, getRelatedObjectList,getRelatedObjectListSize, containRelatedObjects,clear, remove等对关系的增、删、改、查对应方法; smilingleo原创 注意:此处的Finder方法,仅仅是根据Entity的某个或某些域来查询Entity结果; 与Custom-SQL中定义的find方法不一样。前者是定义之后自动生成的,也就是通过ServiceBuilder创建的;而后者必须手工添加。 从逻辑关系上讲:XXXXFinder与XXXXPersistanceImpl在层次上是对等的,都直接被XXXXServiceImpl调用。 2、如果你想定制查询,比如多表查询,则需要定义custom-sql\xxx.xml. ,手工编写XXXXFinder对应的finderBy方法(或者countBy方法),然后再在ServiceImpl类中封装对应的方法;之后ant build-service-xxxxx.这样就将对应的业务方法“繁衍propagate”到所有Service, Util类中了。smilingleo原创 3、编写JSP页面通过Util类实现业务方法调用。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/smilingleo/archive/2007/11/27/1903859.aspx |