那些选项如下:
Maven assembly:assembly:完整装配,包括编译class,测试,打包等 Maven build:编译class
Maven build..:编译class,可带命令 Maven clean:对项目进行清理
Maven generate-sources:构建源码,也就是打包生成jar Maven install:讲本地项目发布至本地仓库 Maven package:测试并且打包
Maven source:jar:生成带源码的jar用于导入使用 Maven test:对项目测试
图1 maven选项
图2 众多的maven选项
图3 Run As选项 图4 Debug As 选项
介绍了那么多了,该来一个实例了,这次采用的例子是我之前写BeDao1.0的通用Dao层,采用Jpa2.0+Hibernate3.5.2-final+Spring3.0.2整合的测试用例的例子,结构如图5: BeDao代码在maven中的结构图
图5 BeDao代码在maven中的结构图
所使用的包(如图6: 项目所使用的包)可以在pom.xml图形界面中Dependencies中添加,主要用到的有spring-bean,spring-aspects,spring-asm,spring-context,spring-core,spring-orm,spring-test,spring-jdbc,junit,hibernate-3.5.2-final,hibernate-jpa.20
图6: 项目所使用的包
由于代码比较多的关系,这里只是贴出公共部分代码,代码如下: JavaBean:这个类也可以当作公共属性,例如保存列表之类的,list
public interface JavaBean extends Serializable{ }
[使用心得]maven2之m2eclipse使用手册之四编写通用Dao实例(二) 由于msn有字数限制所以只能分批贴,请见谅 公共Dao层部分:
BasicDaoIf:通用dao层接口,由于是基于1.0版本难免有点bug还没修正,请勉强参考,这里只是贴出测试部分的代码与所调用的方法,T必须是继承了JavaBean的类型,也就是实现了序列化,PK则为可以序列化的类型,如Integer
/** *
* 项目名称:通用dao层 * 类名称:BasicDao * 类描述:
* @param T 继承了JavaBean的序列化实体
* @param PK 实现了Serializable 接口的类型如 Integer,String * 创建人:Edward
* 创建时间:2010-2-12 下午07:07:25 * 修改人:Edward
* 修改时间:2010-4-47 下午07:07:25 * 修改备注: 增删改查方法 * @version 1.2 * */
public interface BasicDaoIf
* 查找当前实体所有记录
* @param entityClass 实体类的对应的class 必须继承JavaBean实现了序列化
* @return List
* example: List
List
AbstarctBasicDao:把经常要处理的部分抽出来作为公共类
public abstract class AbstractBasicDao
extends BasicSupportDao implements BasicDaoIf
public List
return getHibernateTemplate().findByCriteria( DetachedCriteria.forClass(entityClass)); } }
BasicDaoImpl:由于spring中使用注解的话会实例化AbstractBasicDao,因为是抽象的不能实例化所以只能新建多一个类用于继承抽象类,当然也可以把抽象类写成class.只要继承后直接覆盖方法即可
public class BasicDaoImpl
@Override
public List
return super.findAll(entityClass); } }
BasicSupportDao:如果使用spring的注解的话会造成找不到hibernatetemplate,所以需要独立写一个类进行注入,(在spring3.0.x之后这个可以不需要了,因为有了新特性@bean的注解)
public class BasicSupportDao extends HibernateDaoSupport {
@Resource(name = \)
public void setHibernatetemplate(HibernateTemplate hibernateTemplate) { super.setHibernateTemplate(hibernateTemplate); } }
[使用心得]maven2之m2eclipse使用手册之四编写通用Dao实例(三)
对于Service,由于功能跟Dao的差不多,所以我把主要调用方法的部分抽出来做成公共,而事务的话由于还没测试所以先去掉,接口代码就不附上了
AbstractBasicService:采用spring注解把basicDao注入,使用的所有Service类分别继承AbstractBasicService,把所引用的bean的class注入到AbstractBasicService中 public abstract class AbstractBasicService
implements BasicServiceIf
private BasicDaoIf
protected Class
/**
* 创建一个新的实例 AbstractBasicService.
*
* @param javabeanclass */
protected AbstractBasicService(Class
/**
* basicDao *
* @return the basicDao
* @since CodingExample Ver(编码范例查看) 1.0
*/
public BasicDaoIf
/**
* @param basicDao
* the basicDao to set */
@Resource(name = \basicDao\
public void setBasicDao(BasicDaoIf
@Override
public List
return basicDao.findAll(javabeanclass); } }
以上都是公共部分代码,测试代码,则放到src/test/java目录下,而spring的配置文件放在src/test/resources目录下,
spring的配置文件applicationContext.xml如下: