相关代码如下:
具体代码有如下类:User.java:值对象
UserDAO.java dao接口
UserDAOImp dao接口实现类
UserService service接口
UserServiceImp service接口实现类
UserController 控制器类,在这里调用业务逻辑。
代码如下:1. User.javapackage apps.hibernatetest.ioc;public class User implements java.io.Serializable
{
private String id;
private String username;
private String password; public User(){} public String getId()
{
return id;
} public void setId(String id)
{
this.id = id;
} public String getUsername()
{
return username;
} public void setUsername(String username)
{
this.username = username;
} public String getPassword()
{
return password;
} public void setPassword(String password)
{
this.password = password;
}
}2. UserDAO.javapackage apps.hibernatetest.ioc;public interface UserDAO
{
public void userAdd(User user);
}
3.UserDAOImp.java
package apps.hibernatetest.ioc;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;import org.springframework.orm.hibernate.HibernateCallback;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;public class UserDAOImp extends HibernateDaoSupport implements UserDAO
{
public void userAdd(User user)
{
try
{
System.out.println("save="+getHibernateTemplate().save(user));
getHibernateTemplate().save(user);
}
catch(Exception e)
{
System.out.println("执行插入用户错误!");
}
}}
4. UserService.javapackage apps.hibernatetest.ioc;public interface UserService
{ public void userAdd(User user);
}5.UserServiceImp.java
package apps.hibernatetest.ioc;public class UserServiceImp
{
private UserDAO userDAO;
private User user = new User();
public UserDAO getUserDAO()
{
return userDAO;
}
public void setUserDAO(UserDAO userDAO)
{
this.userDAO = userDAO;
}
public void userAdd(User user)
{
userDAO.userAdd(user);
}
}
6.UserController.java
package apps.hibernatetest.ioc;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.*;
import javax.servlet.http.*;
import org.springframework.web.bind.RequestUtils;
import java.io.IOException;
import java.util.Map;
import java.util.*;
import java.util.HashMap;
import org.apache.commons.beanutils.BeanUtils;import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;public class UserController implements Controller
{
private UserService userService;
public void setUserService(UserService userService)
{
this.userService = userService;
} public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String url="";
url="test.jsp"; User u=new User();
u.setUsername("11111");
u.setPassword("1111");
userService.userAdd(u); return new ModelAndView(url);
}}
6. SpringhibernateStudy-servlet.xml<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!-- - Application context definition for "springapp" DispatcherServlet. -->
<beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@192.168.1.191:1521:yanek</value>
</property>
<property name="username">
<value>test</value>
</property>
<property name="password">
<value>1234</value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<!-- HIBERNATE ퟛ� // ҪΪmappingResources, ¼ mappingDirectoryLocations-->
<property name="mappingResources">
<list>
<value>User.hbm.xml</value> </list>
</property> <property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
</props>
</property>
</bean>
<!-- DAO IoC , HIBERNATEģ//-->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate.HibernateTemplate">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- ӿڵ DAO,ʹ ģ //-->
<bean id="UserDAO" class="apps.hibernatetest.ioc.UserDAOImp">
<property name="hibernateTemplate">
<ref local="hibernateTemplate" />
</property>
</bean>
<!-- HIBERNATE transactionmanager, -->
<bean id="mytransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!-- AOP //-->
<bean id="lxxProxyTemplate" abstract="true" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="mytransactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="user*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="up*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="dis*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="userService" parent="lxxProxyTemplate">
<property name="target">
<bean class="apps.hibernatetest.ioc.UserServiceImp">
<property name="userDAO"><ref local="UserDAO"/></property>
</bean>
</property>
</bean> <bean id="UserController" class="apps.hibernatetest.ioc.UserController">
<property name="userService">
<ref bean="userService" />
</property>
</bean>
<bean id="UserurlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/user.do">UserController</prop>
</props>
</property>
</bean>
</beans>
具体代码有如下类:User.java:值对象
UserDAO.java dao接口
UserDAOImp dao接口实现类
UserService service接口
UserServiceImp service接口实现类
UserController 控制器类,在这里调用业务逻辑。
代码如下:1. User.javapackage apps.hibernatetest.ioc;public class User implements java.io.Serializable
{
private String id;
private String username;
private String password; public User(){} public String getId()
{
return id;
} public void setId(String id)
{
this.id = id;
} public String getUsername()
{
return username;
} public void setUsername(String username)
{
this.username = username;
} public String getPassword()
{
return password;
} public void setPassword(String password)
{
this.password = password;
}
}2. UserDAO.javapackage apps.hibernatetest.ioc;public interface UserDAO
{
public void userAdd(User user);
}
3.UserDAOImp.java
package apps.hibernatetest.ioc;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;import org.springframework.orm.hibernate.HibernateCallback;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;public class UserDAOImp extends HibernateDaoSupport implements UserDAO
{
public void userAdd(User user)
{
try
{
System.out.println("save="+getHibernateTemplate().save(user));
getHibernateTemplate().save(user);
}
catch(Exception e)
{
System.out.println("执行插入用户错误!");
}
}}
4. UserService.javapackage apps.hibernatetest.ioc;public interface UserService
{ public void userAdd(User user);
}5.UserServiceImp.java
package apps.hibernatetest.ioc;public class UserServiceImp
{
private UserDAO userDAO;
private User user = new User();
public UserDAO getUserDAO()
{
return userDAO;
}
public void setUserDAO(UserDAO userDAO)
{
this.userDAO = userDAO;
}
public void userAdd(User user)
{
userDAO.userAdd(user);
}
}
6.UserController.java
package apps.hibernatetest.ioc;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.*;
import javax.servlet.http.*;
import org.springframework.web.bind.RequestUtils;
import java.io.IOException;
import java.util.Map;
import java.util.*;
import java.util.HashMap;
import org.apache.commons.beanutils.BeanUtils;import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;public class UserController implements Controller
{
private UserService userService;
public void setUserService(UserService userService)
{
this.userService = userService;
} public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String url="";
url="test.jsp"; User u=new User();
u.setUsername("11111");
u.setPassword("1111");
userService.userAdd(u); return new ModelAndView(url);
}}
6. SpringhibernateStudy-servlet.xml<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!-- - Application context definition for "springapp" DispatcherServlet. -->
<beans>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@192.168.1.191:1521:yanek</value>
</property>
<property name="username">
<value>test</value>
</property>
<property name="password">
<value>1234</value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<!-- HIBERNATE ퟛ� // ҪΪmappingResources, ¼ mappingDirectoryLocations-->
<property name="mappingResources">
<list>
<value>User.hbm.xml</value> </list>
</property> <property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
</props>
</property>
</bean>
<!-- DAO IoC , HIBERNATEģ//-->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate.HibernateTemplate">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- ӿڵ DAO,ʹ ģ //-->
<bean id="UserDAO" class="apps.hibernatetest.ioc.UserDAOImp">
<property name="hibernateTemplate">
<ref local="hibernateTemplate" />
</property>
</bean>
<!-- HIBERNATE transactionmanager, -->
<bean id="mytransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!-- AOP //-->
<bean id="lxxProxyTemplate" abstract="true" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="mytransactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="user*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="up*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="dis*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="userService" parent="lxxProxyTemplate">
<property name="target">
<bean class="apps.hibernatetest.ioc.UserServiceImp">
<property name="userDAO"><ref local="UserDAO"/></property>
</bean>
</property>
</bean> <bean id="UserController" class="apps.hibernatetest.ioc.UserController">
<property name="userService">
<ref bean="userService" />
</property>
</bean>
<bean id="UserurlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/user.do">UserController</prop>
</props>
</property>
</bean>
</beans>
解决方案 »
- POI导入问题,如何把HSSFCell.CELL_TYPE_NUMERIC转换成String?
- spring3mvc + hibernate + freemarker + jquery + json想看就进来吧
- 100分,求助一个问题,我要做一个工作流系统,让用户自己定义流程
- 谁实现了HttpSession接口
- hibernate save和update方法不起作用
- 一个<html:link page...>传递参数并在action中获得参数的问题
- 选专业!请指教!!!!!发表一下各位的议建!!
- 哪里有j2eeSDK的类库说明?给个地址好吗?
- 关于EJB得几个问题,高手请进来,两个问题,一个50
- 那里有利用JAXP 1.2处理XML(基于XML Schema,而不是DTD)的JAVA程序例子!!! 200分!!!
- 数据类型转换问题,急急急急
- 怎么将一个web应用程序导出?导出后怎么运行?
java.lang.IllegalStateException: Unknown callback class
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
public class UserServiceImp implements UserService