今天发现一个不错的struts2跟hibernate整合的插件,名字叫
fullhibernateplugin,是开源的,地址在:
http://code.google.com/p/full-hibernate-plugin-for-struts2/
它的特点是,使用注解“@SessionTarget”及@TransactionTarget去
实现hibernate的注入,比较方便,下面举例说明之:
1 下载相关的包放在项目的lib下
2 比如一个DAO及实现如下
package com.customer.dao;
import java.util.List;
import com.mkyong.customer.model.Customer;
public interface CustomerDAO{
void addCustomer(Customer customer);
List<Customer> listCustomer();
}
实现如下:
public class CustomerDAOImpl implements CustomerDAO{
@SessionTarget
Session session;
@TransactionTarget
Transaction transaction;
//add the customer
public void addCustomer(Customer customer){
session.save(customer);
}
//return all the customers in list
public List<Customer> listCustomer(){
return session.createQuery("from Customer").list();
}
}
可以看到,这里直接用session.save即可以,其他hibernate等的配置跟以前一样.
3 在struts.xml中输入:
<package name="default" namespace="/" extends="hibernate-default">
即可