web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
applicationContext.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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/pecope">
</property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>com.zbb.entity.Salesman</value>
<value>com.zbb.entity.Plan</value>
<value>com.zbb.entity.Schedule</value>
<value>com.zbb.entity.Room</value>
<value>com.zbb.entity.Customer</value>
<value>com.zbb.entity.Message</value>
<value>com.zbb.entity.Material</value>
<value>com.zbb.entity.Project</value>
<value>com.zbb.entity.Bargain</value>
<value>com.zbb.entity.Plan2</value>
</list>
</property>
</bean>
<context:component-scan base-package="com.zbb" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
</beans>
BaseAction.java
package com.zbb.action;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.zbb.entity.Customer;
import com.zbb.iservice.IBaseService;
@Controller
@RequestMapping(value="/baseAction")
public class BaseAcion {
@Autowired
IBaseService iBaseService;
@RequestMapping(value="/getAll")
public String getAll() {
System.out.println("123");
iBaseService.getAll(Customer.class);
return "/success.jsp";
}
}
IBaseDao.java
若结合hibernatedaosupport查询数据库则要加上红色标记的部分不然出现异常,而且要注意懒加载问题
@Autowired
public void setMySessionFactory(SessionFactory sessionFactory){
super.setSessionFactory(sessionFactory);
}
package com.zbb.idao; import java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.springframework.stereotype.Repository; @Repository public class IBaseDao extends HibernateDaoSupport{ public List<Object> getAll(final Class cls) { // TODO Auto-generated method stub System.out.println("basedao"); return super.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session arg0) throws HibernateException, SQLException { // TODO Auto-generated method stub return arg0.createQuery("from "+cls.getSimpleName()).list(); } }); } @Autowired public void setMySessionFactory(SessionFactory sessionFactory){ super.setSessionFactory(sessionFactory); } }
IBaseService.java
package com.zbb.iservice;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zbb.idao.IBaseDao;
@Service
public class IBaseService{
@Autowired
IBaseDao iBaseDao;
public List<Object> getAll(Class cls) {
// TODO Auto-generated method stub
System.out.println("baseservice");
iBaseDao.getAll(cls);
return null;
}
}
Test.java
package com.zbb.iservice;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zbb.idao.IBaseDao;
@Service
public class IBaseService{
@Autowired
IBaseDao iBaseDao;
public List<Object> getAll(Class cls) {
// TODO Auto-generated method stub
System.out.println("baseservice");
iBaseDao.getAll(cls);
return null;
}
}