一springmvc.xml
整合的时候不要和springmvc的自动扫描包重复了,会冲突
<?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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
<context:component-scan
base-package="com.znsd.vote.controllers" />
<context:component-scan
base-package="com.znsd.vote.views" />
<context:component-scan
base-package="com.znsd.vote.actions" />
<!-- 直接配置对应的视图访问路径 -->
<mvc:view-controller path="/vote_all.html"
view-name="vote_all" />
<mvc:view-controller path="/vote_add.html"
view-name="vote_add" />
<mvc:view-controller path="/vote_maintain.html"
view-name="vote_maintain" />
<mvc:view-controller path="/vote_record.html"
view-name="vote_record" />
<mvc:view-controller path="/user_information.html"
view-name="user_information" />
<!-- 如果配置了mvc-controller会导致其它页面没法正常访问,还需要添加一个标签 -->
<mvc:annotation-driven />
<mvc:default-servlet-handler />
<!-- 自定义视图解析器,使用order来配置优先级,数字越小,优先级越高。 -->
<bean
class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="1"></property>
</bean>
<!-- 配置视图解析器 将视图返回字符串解析到:/WEB-INF/view/返回值.jsp 下 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
二
spring.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"
default-autowire="byName"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd" >
<context:component-scan base-package="com.znsd.vote.json" />
<context:component-scan base-package="com.znsd.vote.dao.impl" />
<context:component-scan base-package="com.znsd.vote.service.impl" />
<context:component-scan base-package="com.znsd.vote.interceptor" />
<context:component-scan base-package="com.znsd.vote.hibernate.interceptor" />
<!-- actions -->
<!--<bean id="loginPostAction" class="com.znsd.vote.actions.LoginPostAction" scope="prototype"/>
<bean id="registerPostAction" class="com.znsd.vote.actions.RegisterPostAction" scope="prototype"/>
<bean id="testAction" class="com.znsd.vote.actions.TestAction" scope="prototype"/>
<bean id="pactackAction" class="com.znsd.vote.actions.PartackAction" scope="prototype"/>
<bean id="imageAction" class="com.znsd.vote.actions.ImageAction" scope="prototype"/>
<bean id="pactackResultAction" class="com.znsd.vote.actions.PactackResultAction" scope="prototype" />
-->
<!-- dao -->
<!-- <bean id="userDao" class="com.znsd.vote.dao.impl.UserDaoImpl" />
<bean id="itemDao" class="com.znsd.vote.dao.impl.ItemDaoImpl" />
<bean id="navigationDao" class="com.znsd.vote.dao.impl.NavigationDaoImpl" />
<bean id="optionDao" class="com.znsd.vote.dao.impl.OptionDaoImpl" />
<bean id="personDao" class="com.znsd.vote.dao.impl.PersonDaoImpl" />
<bean id="subjectDao" class="com.znsd.vote.dao.impl.SubjectDaoImpl" />
-->
<!-- service -->
<!-- <bean id="userService" class="com.znsd.vote.service.impl.UserServiceImpl" />
<bean id="itemService" class="com.znsd.vote.service.impl.ItemServiceImpl" />
<bean id="subjectService" class="com.znsd.vote.service.impl.SubjectServiceImpl" />
<bean id="optionService" class="com.znsd.vote.service.impl.OptionServiceImpl" />
<bean id="personService" class="com.znsd.vote.service.impl.PersonServiceImpl" />
<bean id="navigationService" class="com.znsd.vote.service.impl.NavigationServiceImpl" />
-->
</beans>
整合的时候BaseDaoImpl
package com.znsd.vote.dao.impl;
import java.io.Serializable;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.orm.hibernate4.support.HibernateDaoSupport;
import com.znsd.vote.dao.BaseDao;
public class BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T> {
@Autowired
public void setSessionFactoryOverride(SessionFactory sessionFactory)
{
super.setSessionFactory(sessionFactory);
}
@Override
public int add(T t) {
try {
this.getHibernateTemplate().save(t);
return 1;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
@Override
public int update(T t) {
try {
this.getHibernateTemplate().update(t);
return 1;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
@Override
public List<T> findAll(String hql, String[] paramNames, Object[] values) {
List<T> list = null;
if (paramNames == null) {
list = (List<T>) this.getHibernateTemplate().find(hql);
} else {
list = (List<T>) this.getHibernateTemplate().findByNamedParam(hql, paramNames, values);
}
return list;
}
@Override
public List<Object[]> findObject(String hql, String[] paramNames, Object[] values) {
List<Object[]> list = null;
if (paramNames == null) {
list = (List<Object[]>) this.getHibernateTemplate().find(hql);
} else {
list = (List<Object[]>) this.getHibernateTemplate().findByNamedParam(hql, paramNames, values);
}
return list;
}
@Override
public T uniqueResult(String hql, String[] paramNames, Object[] values) {
List<T> list = null;
if (paramNames.length != 0) {
list = (List<T>) this.getHibernateTemplate().findByNamedParam(hql, paramNames, values);
} else {
list = (List<T>) this.getHibernateTemplate().find(hql);
}
return list.get(0);
}
@Override
public long uniqueResult(Class<T> clazz, String where, String[] paramsNames, Object[] values) {
String hql = "select count(1) from " + clazz.getSimpleName();
if (where != null) {
hql += " "+where;
}
List list = null;
if (paramsNames != null) {
list = this.getHibernateTemplate().findByNamedParam(hql, paramsNames, values);
} else {
list = this.getHibernateTemplate().find(hql);
}
long l = Long.valueOf(list.get(0).toString());
return l;
}
@Override
public List<T> findAll(Class<T> clazz) {
String hql = "from " + clazz.getSimpleName();
return (List<T>) this.getHibernateTemplate().find(hql);
}
@Override
public T get(Class<T> clazz, Serializable id) {
return this.getHibernateTemplate().get(clazz, id);
}
@Override
public T get(T entity) {
List<T> list = this.getHibernateTemplate().findByExample(entity);
return list.get(0);
}
@Override
public void delete(T t) {
this.getHibernateTemplate().delete(t);
}
@Override
public List<T> findAll(String hql, String[] paramNames, Object[] values, int pageIndex, int pageSize) {
List<T> list = this.getHibernateTemplate().execute(new HibernateCallback<List<T>>() {
@Override
public List<T> doInHibernate(Session session) throws HibernateException {
Query query = session.createQuery(hql);
if (paramNames != null) {
for (int i = 0; i < paramNames.length; i++) {
query.setParameter(paramNames[i], values[i].toString());
}
}
query.setFirstResult((pageIndex - 1) * pageSize);
query.setMaxResults(pageSize);
return query.list();
}
});
return list;
}
@Override
public List<Object> findAllObject(String hql, String[] paramNames, Object[] values) {
List<Object> list = null;
if (paramNames == null) {
list = (List<Object>) this.getHibernateTemplate().find(hql);
} else {
list = (List<Object>) this.getHibernateTemplate().findByNamedParam(hql, paramNames, values);
}
return list;
}
@Override
public void clear() {
this.getHibernateTemplate().clear();
}
}