applicationContext.xml如下:
- HTML code
<context:annotation-config /> <context:component-scan base-package="com.itadmin" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <context:property-placeholder location="/WEB-INF/jdbc.properties" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="annotatedClasses"><!-- 将实体类注入annotatedClasses属性 --> <list> <value>com.itadmin.model.User</value> <value>com.itadmin.model.Product</value> <value>com.itadmin.model.ProductLog</value> <value>com.itadmin.model.SaleRecord</value> <value>com.itadmin.model.User</value> </list> </property> <!-- hibernate的一些配置 --> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.current_session_context_class">thread</prop> </props> </property> </bean> <bean id="loginAction" class="com.itadmin.action.LoginAction"> <property name="userService"> <ref bean="userService"/> </property> </bean> <bean id="logoutAction" class="com.itadmin.action.LogoutAction"> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:annotation-driven transaction-manager="txManager"/></beans>
需要的service如下:
- HTML code
package com.itadmin.service;@Service("productService")public class ProductService { private LogDao logDao; // private ProductDao productDao = new ProductDao(); // private LogDao logDao = new LogDao(); private ProductDao productDao; private Map productsMap; public LogDao getLogDao() { return logDao; } @Transactional public Product getProductById(int id) { Product product = productDao.findProductById(id); return product; } public ProductDao getProductDao() { return productDao; } public Map getProductsMap() { return productsMap; } public Map queryAllProduct() { productsMap = productDao.queryAllProducts(); return productsMap; } // 分页时,按页码查询用户信息 @Transactional public PageResult queryProductByPage(Page page) { page = PageUtil.createPage(page.getEveryPage(), productDao .countRecords(), page.getCurrentPage()); List<Product> list = productDao.findProductByPage(page); // 封装分页信息和记录信息,返回给调用处 PageResult pageResult = new PageResult(page, list); return pageResult; } @Transactional public List<Product> querySingleProduct(String name) { List<Product> list = productDao.getProductByName(name); return list; } @Resource public void setLogDao(LogDao logDao) { this.logDao = logDao; } @Resource public void setProductDao(ProductDao productDao) { this.productDao = productDao; } public void setProductsMap(Map productsMap) { this.productsMap = productsMap; } @Transactional public void updateProduct(Product product, ProductLog productLog) { // productDao.update(product,productLog); productDao.update(product); logDao.save(productLog); }}