spring + springmvc +mybatis搭建 maven 项目的核心配置文件

    xiaoxiao2021-03-26  32

    首先我们来简单看看我们的目录结构

    那么我们简单说下这个项目:这是我们做过的电商项目所以名字为ddbuy

    src/main/java :编写主要代码

    core:为核心代码,只要分为

    1.pageModel:分页模型,所有实体类的基类

    package com.weshop.core.dao.page; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Set; import com.weshop.core.StaticKey; /** * PagerModel.java * @description: 分页模型,所有实体类的基类 * @author * @date 2015-11-10 * @version 0.0.1 */ public class PageModel implements ClearBean { private int total; // 总数 //private List list = new ArrayList(); // 分页集合列表 private List list ; // 分页集合列表 private int pageSize = StaticKey.PAGE_SIZE;// 每页显示记录数 private int offset=0; // 偏移量 private int pagerSize;// 总页数 protected String pagerUrl;//分页标签需要访问的ACTION地址 private String id; private int recordsTotal; private int recordsFiltered; private int draw; public String getPagerUrl() { return pagerUrl; } public void setPagerUrl(String pagerUrl) { this.pagerUrl = pagerUrl; } public int getPagerSize() { return pagerSize; } public void setPagerSize(int pagerSize) { this.pagerSize = pagerSize; } public int getOffset() { return offset; } public void setOffset(int offset) { this.offset = offset; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; pagerSize =total/pageSize+(total%pageSize==0?0:1); } public List getList() { return list == null ? new LinkedList() : list; } public void setList(List list) { this.list = list; } public String getId() { return id; } public void setId(String id) { this.id = id; } /* * (non-Javadoc) * * @see net.jeeshop.common.page.ClearBean#clear() */ @Override public void clear() { total = 0; // 总数 list = null; // 分页集合列表 offset = 0; // 偏移量 pagerSize = 0;// 总页数 // pagerUrl = null;//分页标签需要访问的ACTION地址 recordsTotal = 0; id = null; } public int getRecordsTotal() { return recordsTotal; } public void setRecordsTotal(int recordsTotal) { this.recordsTotal = recordsTotal; } public int getRecordsFiltered() { return recordsFiltered; } public void setRecordsFiltered(int recordsFiltered) { this.recordsFiltered = recordsFiltered; } public int getDraw() { return draw; } public void setDraw(int draw) { this.draw = draw; } public String trim(String str){ if(str==null){ return null; } return str.trim(); } public void clearList(List<String> list){ if(list==null || list.size()==0){ return; } list.clear(); list = null; } public void clearSet(Set<String> set){ if(set==null || set.size()==0){ return; } set.clear(); set = null; } public void clearListBean(List<PageModel> list){ if(list==null || list.size()==0){ return; } for(int i=0;i<list.size();i++){ ClearBean item = list.get(i); item.clear(); item = null; } list.clear(); list = null; } public void clearArray(String[] arr){ if(arr==null || arr.length==0){ return; } for(int i=0;i<arr.length;i++){ arr[i] = null; } arr = null; } @Override public String toString() { return "total:"+total+",list:"+list+",offset:"+offset; } } 2. BaseDao (mybatis最基本的数据操作,SqlSessionFactory 重新注入)

    package com.weshop.core.dao; import java.util.List; import org.apache.ibatis.exceptions.IbatisException; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.support.SqlSessionDaoSupport; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.weshop.core.dao.page.PageModel; import com.weshop.core.exception.PrivilegeException; /** * BaseDao.java * @description: mybatis最基本的数据操作,SqlSessionFactory 重新注入 * @author * @date 2015-11-10 * @version 0.0.1 */ @Repository public class BaseDao extends SqlSessionDaoSupport { protected static final org.slf4j.Logger log = LoggerFactory.getLogger(BaseDao.class); private static final boolean selectPrivilege = false; /** * 打开session,mybatis中的session能进行数据库基本的操作 * * @return */ public SqlSession openSession() { try { SqlSession session = getSqlSession(); return session; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 查询一条记录 * * @param arg0 * @return */ public Object selectOne(String arg0) { SqlSession session = openSession(); return session.selectOne(arg0); } /** * 查询一条记录 * * @param arg0 * @param arg1 * @return */ public Object selectOne(String arg0, Object arg1) { SqlSession session = openSession(); return session.selectOne(arg0, arg1); } /** * 分页查询 * * @param selectList * @param selectCount * @param param * @return */ public PageModel selectPageList(String selectList, String selectCount, Object param) { SqlSession session = openSession(); List list = session.selectList(selectList, param); PageModel pm = new PageModel(); pm.setList(list); Object oneC = session.selectOne(selectCount, param); if(oneC!=null){ pm.setTotal(Integer.parseInt(oneC.toString())); }else{ pm.setTotal(0); } return pm; } /** * 查询多条记录 * * @param arg0 * @return */ public List selectList(String arg0) { SqlSession session = openSession(); return session.selectList(arg0); } /** * 查询多条记录 * * @param arg0 * @param arg1 * @return */ public List selectList(String arg0, Object arg1) { SqlSession session = openSession(); return session.selectList(arg0, arg1); } /** * 查询总数 * * @param arg0 * @param arg1 * @return */ public int getCount(String arg0, Object arg1) { SqlSession session = openSession(); return (Integer) session.selectOne(arg0, arg1); } /** * 插入一条记录 * * @param arg0 * @return */ public int insert(String arg0) { if(selectPrivilege){ throw new PrivilegeException("只具备查询的权限!"); } SqlSession session = openSession(); return session.insert(arg0); } /** * 插入一条记录,成功则返回插入的ID;失败则抛出异常 * 更改,不需要再返回插入的id; * @param arg0 * @param arg1 * @return */ public int insert(String arg0, Object arg1) { if(selectPrivilege){ throw new PrivilegeException("只具备查询的权限!"); } SqlSession session = openSession(); int row = session.insert(arg0, arg1); if(row==1){ //return Integer.valueOf(((PageModel)arg1).getId()); return 1; } //throw new IbatisException(); return row; } /** * 更新一条记录 * * @param arg0 * @return */ public int update(String arg0) { if(selectPrivilege){ throw new PrivilegeException("只具备查询的权限!"); } SqlSession session = openSession(); return session.update(arg0); } /** * 更新一条记录 * * @param arg0 * @param arg1 * @return */ public int update(String arg0, Object arg1) { if(selectPrivilege){ throw new PrivilegeException("只具备查询的权限!"); } SqlSession session = openSession(); int row = session.update(arg0, arg1); // if(row==1){ // if(arg1 instanceof PageModel){ return Integer.valueOf(((PagerModel)arg1).getId()); // String obj = ((PageModel)arg1).getId(); // if(obj==null){ // return 0; // } // return Integer.valueOf(obj); // } // } return row; } /** * 删除一条记录 * * @param arg0 * @return */ public int delete(String arg0) { if(selectPrivilege){ throw new PrivilegeException("只具备查询的权限!"); } SqlSession session = openSession(); return session.delete(arg0); } /** * 删除一条记录 * * @param arg0 * @param arg1 * @return */ public int delete(String arg0, Object arg1) { if(selectPrivilege){ throw new PrivilegeException("只具备查询的权限!"); } SqlSession session = openSession(); return session.delete(arg0, arg1); } @Override @Autowired public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) { super.setSqlSessionFactory(sqlSessionFactory); } } 3.DaoManager (这是Dao的interface继承这个实现类<传入对应的bean继承 PageModel 分页>在Daoimpl去implements(实现)Dao 的  DaoManager  ,在Dao里面重写DaoManager  里面的方法    调用上面所写BaseDao方法与数据库建议连接实现“增删改查”功能 

    package com.weshop.core; import java.util.List; import com.weshop.core.dao.page.PageModel; /** * DaoManager.java * @description: * @author * @date 2015-11-10 * @version * @param <E> */ public interface DaoManager<E extends PageModel> { /** * 添加 * * @param e * @return */ public int insert(E e); /** * 删除 * * @param e * @return */ public int delete(E e); /** * 修改 * * @param e * @return */ public int update(E e); /** * 查询一条记录 * * @param e * @return */ public E selectOne(E e); /** * 分页查询 * * @param e * @return */ public PageModel selectPageList(E e); /** * 根据条件查询所有 * @return */ public List<E> selectList(E e); /** * 根据ID来删除一条记录 * @param id */ public int deleteById(int id); /** * 根据ID查询一条记录 * @param id * @return */ public E selectById(String id); } 4.PrivilegeUtil(检查用户是否有指定权限)

    package com.weshop.core; import java.util.Map; import javax.servlet.http.HttpSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.weshop.core.exception.PrivilegeException; import com.weshop.service.bean.Member; /** * PrivilegeUtil.java * @description: 权限检查 * @author * @date 2015-11-19 * @version 0.0.1 */ public class PrivilegeUtil { private static final Logger logger = LoggerFactory.getLogger(PrivilegeUtil.class); /** * 检查用户是否具有指定的权限 * * @param session * 用户session * @param pName * 权限名称 * @return true:有权限,false:没有权限 */ public static boolean check(HttpSession session, String pName) throws PrivilegeException{ // if(1==1){ // return true; // } // Map<String,String> root = (Map<String,String>) session.getAttribute(StaticKey.user_resource_menus_button); if(root==null || root.size()==0){ logger.error("该用户没有任何权限。没有权限访问该资源!"); return false; } Member u = (Member) session.getAttribute(StaticKey.manage_session_user_info); if(u==null){ throw new PrivilegeException("用户未登陆!"); } logger.error("==PrivilegeUtil.check : pName="+pName+"root:"+root.toString()); if(root.get(pName)==null){ logger.error("抱歉,没有权限访问该资源!"); return false; } logger.error("有权限访问该资源!"); return true; } }

    5.Service (该接口提供业务逻辑最基本的服务,所有的业逻辑类都必须实现此接口,这样该业务逻辑类对应的action就免去了写基本selectList、insert、update、toEdit、deletes)

    package com.weshop.core; import java.util.List; import org.springframework.transaction.annotation.Transactional; import com.weshop.core.dao.page.PageModel; /** * Service.java * @description: 该接口提供业务逻辑最基本的服务,所有的业逻辑类都必须实现此接口,这样该业务逻辑类对应 * 的action就免去了写基本selectList、insert、update、toEdit、deletes * @author * @date 2015-11-10 * @version * @param <E> */ public interface Service<E extends PageModel> { /** * 添加 * * @param e * @return */ @Transactional public int insert(E e); /** * 删除 * * @param e * @return */ @Transactional public int delete(E e); /** * 批量删除 * * @param ids * @return */ @Transactional public int deletes(String[] ids); /** * 修改 * * @param e * @return */ @Transactional public int update(E e); /** * 查询一条记录 * * @param e * @return */ public E selectOne(E e); /** * 根据ID查询一条记录 * * @param e * @return */ public E selectById(String id); /** * 分页查询 * * @param e * @return */ public PageModel selectPageList(E e); /** * 根据条件查询所有 * @return */ public List<E> selectList(E e); }

    6.ServerManager (Serviceimpl继承)

    package com.weshop.core; import java.util.List; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import com.weshop.core.dao.page.PageModel; /** * ServerManager.java * @description: * @author * @date 2015-11-10 * @version 0.0.1 * @param <E> * @param <DAO> */ public abstract class ServerManager<E extends PageModel, DAO extends DaoManager<E>> implements Service<E>{ @Autowired protected SystemManager systemManager; protected DAO dao; public DAO getDao() { return dao; } public abstract void setDao(DAO dao); /** * 添加 * * @param e * @return */ @Override public int insert(E e) { if(e==null){ throw new NullPointerException(); } return dao.insert(e); } /** * 批量添加 * * @param e * @return */ // public void insertList(List<E> list) { // if(list==null) // throw new NullPointerException(); // // for(int i=0;i<list.size();i++){ // dao.insert(list.get(i)); // } // } /** * 删除 * * @param e * @return */ @Override public int delete(E e) { if(e==null){ throw new NullPointerException(); } return dao.delete(e); } /** * 批量删除 * * @param ids * @return */ @Override public int deletes(String[] ids) { if (ids == null || ids.length == 0) { throw new NullPointerException("id不能全为空!"); } for (int i = 0; i < ids.length; i++) { if(StringUtils.isBlank(ids[i])){ throw new NullPointerException("id不能为空!"); } dao.deleteById(Integer.parseInt(ids[i])); } return 0; } /** * 修改 * * @param e * @return */ @Override public int update(E e) { if(e==null){ throw new NullPointerException(); } return dao.update(e); } /** * 查询一条记录 * * @param e * @return */ @Override public E selectOne(E e) { return dao.selectOne(e); } /** * 分页查询 * * @param e * @return */ @Override public PageModel selectPageList(E e) { return dao.selectPageList(e); } @Override public List<E> selectList(E e) { return dao.selectList(e); } @Override public E selectById(String id) { return dao.selectById(id); } }

    7.Util (里面分装了java.utils 的方法,分别有上次下载文件,图片,正则验证,时间转换,字符串转换等等工具类) Service:主要是Bean  Dao以及Daoimpl 和 Service以及Serviceimpl 

    Web: 这里是Controller  (控制器 ,接受请求处理业务逻辑和返回结果)

    java/main/resources 是存放配置文件

    createindex.xml 文件配置

    <?xml version="1.0" encoding="UTF-8" ?> <database url="jdbc:mysql://localhost:3306/test" user="root" password="123456" JDBC_DRIVER="com.mysql.jdbc.Driver"> <table name="product_test"> <fields indexbool="false"> <index></index> <content>name</content> <id>ID</id> </fields> </table> <table name="users"> <fields indexbool="false"> <index></index> <content>name</content> <id>id</id> </fields> </table> </database>

    ehcache.xml 文件配置

    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false"> <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="20000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" maxElementsOnDisk="10000000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" /> <cache name="eternalCache" maxElementsInMemory="20000" eternal="true" overflowToDisk="true" diskPersistent="false" timeToLiveSeconds="0" diskExpiryThreadIntervalSeconds="120" /> </ehcache>

    jdbc.propertis 文件配置

    driver=com.mysql.jdbc.Driver url=jdbc\:mysql\://192.168.3.1\:3306/ddbuy_code?allowMultiQueries\=true username=root password=123456 #定义初始化连接数 initialSize=5 #定义最大连接数 maxActive=20 #定义最大空闲 maxIdle=20 #定义最小空闲 minIdle=5 #定义最长等待时间 maxWait=200000

    loge4j.propertis 文件配置

    #定义LOG输出级别 log4j.rootLogger=INFO,Console,File #定义日志输出目的地为控制台 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out #可以灵活地指定日志输出格式,下面一行是指定具体的格式 log4j.appender.Console.layout = org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n #文件大小到达指定尺寸的时候产生一个新的文件 log4j.appender.File = org.apache.log4j.RollingFileAppender #指定输出目录 log4j.appender.File.File = logs/ssm.log #定义文件最大大小 log4j.appender.File.MaxFileSize = 10MB # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志 log4j.appender.File.Threshold = ALL log4j.appender.File.layout = org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

    pring-mvc.xml 文件配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --> <context:component-scan base-package="com.weshop.web.controller" /> <!--避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 --> </list> </property> </bean> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 --> </list> </property> </bean> <!-- 定义跳转的文件的前后缀 ,视图模式配置--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 --> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="10485760000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.weshop.core.interceptor.TokenInterceptor" /> </mvc:interceptor> </mvc:interceptors> </beans>

    spring-mybatis.xml 文件配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 自动扫描 --> <context:component-scan base-package="com.weshop" /> <bean id="systemManager" class="com.weshop.core.SystemManager"> <property name="cacheProvider" ref="ehcacheCacheProvider"/> </bean> <bean id="ehcacheCacheProvider" class="com.weshop.core.cache.EhcacheCacheProvider"> <property name="configLocation" value="classpath:config/ehcache.xml"></property> <property name="cacheName" value="eternalCache"/> </bean> <!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:config/jdbc.properties" /> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <!-- 初始化连接大小 --> <property name="initialSize" value="${initialSize}"></property> <!-- 连接池最大数量 --> <property name="maxActive" value="${maxActive}"></property> <!-- 连接池最大空闲 --> <property name="maxIdle" value="${maxIdle}"></property> <!-- 连接池最小空闲 --> <property name="minIdle" value="${minIdle}"></property> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="${maxWait}"></property> <property name="validationQuery" value="SELECT 1"></property> <property name="testWhileIdle" value="true"></property> <property name="testOnBorrow" value="true"></property> <property name="timeBetweenEvictionRunsMillis" value="3600000"></property> <property name="numTestsPerEvictionRun" value="50"></property> <property name="minEvictableIdleTimeMillis" value="120000"></property> <property name="removeAbandoned" value="true"/> <property name="removeAbandonedTimeout" value="60000000"/> </bean> <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath:mapping/*.xml"></property> </bean> <!-- DAO接口所在包名,Spring会自动查找其下的类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.weshop.core.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <context:annotation-config></context:annotation-config> <tx:annotation-driven transaction-manager="transactionManager"/> </beans>

    generatorConfig.xml 文件配置 (通过Maven生成bean dao 和 xml 文件)

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--数据库驱动jar --> <classPathEntry location="E:\mysql-connector-java-5.0.8.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <!--去除注释 --> <commentGenerator> <property name="suppressDate" value="true" /> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--数据库连接 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.1.111:3306/ddbuy_code" userId="root" password="123456"> </jdbcConnection> <!--默认false Java type resolver will always use java.math.BigDecimal if the database column is of type DECIMAL or NUMERIC. --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!--生成实体类 指定包名 以及生成的地址 (可以自定义地址,但是路径不存在不会自动创建 使用Maven生成在target目录下,会自动创建) --> <javaModelGenerator targetPackage="com.weshop.service.bean" targetProject="MAVEN"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--生成SQLMAP文件 --> <sqlMapGenerator targetPackage="com.weshop.mapping" targetProject="MAVEN"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!--生成Dao文件 可以配置 type="XMLMAPPER"生成xml的dao实现 context id="DB2Tables" 修改targetRuntime="MyBatis3" --> <!-- <javaClientGenerator type="SPRING" targetPackage="com.qianyan.persistence.dao" targetProject="MAVEN"> --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.weshop.service.dao" targetProject="MAVEN"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!--对应数据库表 mysql可以加入主键自增 字段命名 忽略某字段等 --> <!-- <table tableName="WS_AREA" domainObjectName="Area" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ATTENTION" domainObjectName="Attention" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ATTRIBUTE_GROUP" domainObjectName="AttributeGroup" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ATTRIBUTE_ITEM" domainObjectName="AttributeItem" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ATTRIBUTE_VALUE" domainObjectName="AttributeValue" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ATTRIBUTE_SET" domainObjectName="AttributeSet" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_BANK_INFO" domainObjectName="BankInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_BRAND" domainObjectName="Brand" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_CUSTOMER_SERVICE" domainObjectName="CustomerService" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_COUPON" domainObjectName="Coupon" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_COUPON_USE" domainObjectName="CouponUse" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_EXPRESS_INFO" domainObjectName="ExpressInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_EVALUATE" domainObjectName="Evaluate" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_EXPRESS_COMPANY" domainObjectName="ExpressCompany" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_FEEDBACK" domainObjectName="Feedback" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_GRADE_RIGHT" domainObjectName="GradeRight" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_LOGISTICS_SERVICE" domainObjectName="LogisticsService" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_MEMBER" domainObjectName="Member" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_MERCHANT" domainObjectName="Merchant" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_MEMBER_GRADE" domainObjectName="MemberGrade" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_MESSAGE" domainObjectName="Message" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ORDER" domainObjectName="Order" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ORDER_PRODUCT" domainObjectName="OrderProduct" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_OPERATOR" domainObjectName="Operator" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_POST" domainObjectName="Post" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_PRODUCT" domainObjectName="Product" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_PAYMENT" domainObjectName="Payment" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_PLATFORM_FUNCTION" domainObjectName="PaymentBank" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_PRODUCT_CATEGORY" domainObjectName="ProductCategory" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_PRODUCT_PARAM" domainObjectName="ProductParam" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_REFUND" domainObjectName="Refund" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_REPORT_PRODUCT" domainObjectName="ReportProduct" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ROLE" domainObjectName="Role" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_ROLE_RIGHT" domainObjectName="RoleRight" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_SERVICE_CODE" domainObjectName="ServiceCode" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_SKU_MAIN_EIGENVALUE" domainObjectName="SkuMainEigenvalue" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_SKU_STOCK" domainObjectName="SkuStock" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_SHOP_CATEGORY" domainObjectName="ShopCateGory" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_STORAGE" domainObjectName="Storage" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_SHOP" domainObjectName="Shop" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_SHOPPING_CART" domainObjectName="ShoppingCart" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_SCORE" domainObjectName="Score" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> --> <!-- <table tableName="WS_BASIC_INFO" domainObjectName="BasicInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_COMPLAINT" domainObjectName="complanint" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_MESSAGE" domainObjectName="Message" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> <table tableName="WS_USER_SETTING" domainObjectName="UserSetting" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />--> <table tableName="WS_PRODUCT_ATTRIB" domainObjectName="ProductAttrib" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> </context> </generatorConfiguration>

    pom.xml 文件配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>ddbuy</groupId> <artifactId>ddbuy</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name /> <build> <finalName>ddbuy</finalName> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> </dependencies> </plugin> </plugins> </build> <properties> <spring.version>4.0.2.RELEASE</spring.version> <!--<struts.version>2.3.16.3</struts.version> --> <javassist.version>3.11.0.GA</javassist.version> <aspectj.version>1.5.3</aspectj.version> <aopalliance.version>1.0</aopalliance.version> <asm.version>3.2</asm.version> <cglib.version>2.2.2</cglib.version> <jackson.version>1.9.13</jackson.version> <freemarker.version>2.3.16</freemarker.version> <mybatis.version>3.2.6</mybatis.version> <mybatis-spring.version>1.2.2</mybatis-spring.version> <spring-data-redis.version>1.4.2.RELEASE</spring-data-redis.version> <jedis.version>2.6.0</jedis.version> <mysql-jdbc.version>5.0.8</mysql-jdbc.version> <slf4j.version>1.6.1</slf4j.version> <logback.version>1.1.2</logback.version> <json-lib.version>2.4</json-lib.version> <fastjson.version>1.1.33</fastjson.version> <jdom.version>1.1</jdom.version> <ezmorph.version>1.0.6</ezmorph.version> <p6spy.version>1.3</p6spy.version> <dom4j.version>1.6.1</dom4j.version> <urlrewrite.version>4.0.4</urlrewrite.version> <javamail.version>1.4</javamail.version> <pinyin4j.version>2.5.0</pinyin4j.version> <lucene.version>3.3.0</lucene.version> <c3p0.version>0.9.5</c3p0.version> <aliyun-openservices.version>1.0.12</aliyun-openservices.version> <druid.version>0.2.3</druid.version> <commons-lang.version>2.5</commons-lang.version> <commons-io.version>2.2</commons-io.version> <commons-fileupload.version>1.3.1</commons-fileupload.version> <commons-beanutils.version>1.8.0</commons-beanutils.version> <commons-chain.version>1.2</commons-chain.version> <commons-collections.version>3.1</commons-collections.version> <commons-digester.version>2.0</commons-digester.version> <commons-lang3.version>3.1</commons-lang3.version> <commons-validator.version>1.3.1</commons-validator.version> <commons-logging.version>1.1.3</commons-logging.version> <commons-codec.version>1.6</commons-codec.version> <commons-httpclient.version>3.0.1</commons-httpclient.version> <htmlparser.version>2.1</htmlparser.version> <httpclient.version>4.2</httpclient.version> <jaxen.version>1.1.1</jaxen.version> <activation.version>1.1</activation.version> <ehcache.version>2.10.0</ehcache.version> </properties> <!-- spring核心包 --> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>${activation.version}</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>${javassist.version}</version> </dependency> <dependency> <groupId>aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>${aopalliance.version}</version> </dependency> <dependency> <groupId>asm</groupId> <artifactId>asm</artifactId> <version>${asm.version}</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>${cglib.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker.version}</version> </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>${ehcache.version}</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>${spring-data-redis.version}</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${jedis.version}</version> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>${c3p0.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis-spring.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-jdbc.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>${json-lib.version}</version> <classifier>jdk15</classifier> </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.0.3</version> </dependency> <dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>[7.0.0, 7.0.99]</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <dependency> <groupId>net.sf.ezmorph</groupId> <artifactId>ezmorph</artifactId> <version>${ezmorph.version}</version> </dependency> <dependency> <groupId>jdom</groupId> <artifactId>jdom</artifactId> <version>${jdom.version}</version> </dependency> <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>${p6spy.version}</version> </dependency> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>${dom4j.version}</version> </dependency> <dependency> <groupId>org.tuckey</groupId> <artifactId>urlrewritefilter</artifactId> <version>${urlrewrite.version}</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>${javamail.version}</version> </dependency> <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>${pinyin4j.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-highlighter</artifactId> <version>${lucene.version}</version> </dependency> <!-- commons --> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>${commons-beanutils.version}</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>${commons-logging.version}</version> </dependency> <dependency> <groupId>commons-chain</groupId> <artifactId>commons-chain</artifactId> <version>${commons-chain.version}</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>${commons-collections.version}</version> </dependency> <dependency> <groupId>commons-digester</groupId> <artifactId>commons-digester</artifactId> <version>${commons-digester.version}</version> </dependency> <dependency> <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId> <version>${commons-validator.version}</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>${commons-lang.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons-fileupload.version}</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>${commons-httpclient.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpclient.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${httpclient.version}</version> </dependency> <dependency> <groupId>org.htmlparser</groupId> <artifactId>htmllexer</artifactId> <version>${htmlparser.version}</version> </dependency> <dependency> <groupId>org.htmlparser</groupId> <artifactId>htmlparser</artifactId> <version>${htmlparser.version}</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>${jaxen.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> <!-- spring-mvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc-portlet</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-instrument</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-instrument-tomcat</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>jsptags</groupId> <artifactId>pager-taglib</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> <scope>test</scope> </dependency> <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>QRCode</groupId> <artifactId>QRCode</artifactId> <version>1.0</version> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/QRCode.jar</systemPath> <scope>system</scope> </dependency> <!-- 敏感词过滤包 --> <dependency> <groupId>DFA</groupId> <artifactId>DFA</artifactId> <version>1.0</version> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/DFA.jar</systemPath> <scope>system</scope> </dependency> <!-- 短信发送包 --> <dependency> <groupId>SMS</groupId> <artifactId>SMS</artifactId> <version>1.0</version> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/SMS.jar</systemPath> <scope>system</scope> </dependency> <!-- lucene搜索引擎包 --> <dependency> <groupId>lucene</groupId> <artifactId>lucene</artifactId> <version>1.0</version> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/lucene-api.jar</systemPath> <scope>system</scope> </dependency> </dependencies> </project> web.xml 文件配置

    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>ddbuy</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/spring-mybatis.xml</param-value> </context-param> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.*</url-pattern> </servlet-mapping> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <servlet> <servlet-name>ImgExtra</servlet-name> <servlet-class>com.weshop.core.servlet.ImgExtra</servlet-class> </servlet> <servlet-mapping> <servlet-name>ImgExtra</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet> <servlet-name>upload</servlet-name> <servlet-class>com.weshop.core.servlet.Upload</servlet-class> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 上述就是整个项目的配置文件

    转载请注明原文地址: https://ju.6miu.com/read-659441.html

    最新回复(0)