需要的軟件:
Eclipse:
  Eclipse需要兩個插件,幫助我們部署webservice 和生成wsdl
   axis2-eclipse-service-plugin-1.6.2.zip 打包并部署webservice
   axis2-eclipse-codegen-plugin-1.6.2.zip 生成wsdl
Tomcat + Axis2
SOAPUI

好了,準備完畢就可以動手寫webservice了~~本來想把要用到的軟件上傳到這里的,我不常登陸自己的博客,可惜公司網絡不允許呀~~其實網上也都有~~

話題回歸,其實webservice很簡單,一個POJO就可以發布成webservice了~~
如下圖user項目的結構~~只是一個簡單的java項目,maven構建后面再繼續講


這里用就創建了一個UserUtilService中的addExUser方法

創建sessionn
 1public class HibernateUtil {
 2
 3    private static final Logger LOGGER = LoggerFactory.getLogger(HibernateUtil.class);
 4    private static SessionFactory sessionFactory;
 5    
 6    private static SessionFactory buildSessionFactory()
 7      {
 8        try
 9        {
10          return HibernateUtil.sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
11          
12          
13        }
 catch (Throwable ex) {
14          LOGGER.error("Initial SessionFactory creation failed.", ex);
15          throw new ExceptionInInitializerError(ex);
16        }

17      }

18
19      private static synchronized SessionFactory getSessionFactory()
20      {
21        if (sessionFactory == null{
22          sessionFactory = buildSessionFactory();
23        }

24        return sessionFactory;
25      }

26
27      public static StatelessSession getSession() {
28        return getSessionFactory().openStatelessSession();
29      }

30}


創建DAOFactory, 為DAO,DAOImpl形成映射關系,這個也可以寫在配置文件里

 1public class DAOFactory
 2{
 3  private static final Logger LOGGER = LoggerFactory.getLogger(DAOFactory.class);
 4
 5  private static Map<Class<?>, Class<?>> typeMap = new HashMap();
 6
 7  static {
 8    typeMap.put(UserDAO.class, UserDAOImpl.class);
 9    typeMap.put(ExUserMappingDAO.class, ExUserMappingDAOImpl.class);
10  }

11
12  private static <extends GenericDAO> T instantiateDAO(Class<T> daoClass)
13  {
14    try
15    {
16      Class implType = (Class)typeMap.get(daoClass);
17      return (T)implType.newInstance();
18    }
 catch (Exception ex) {
19    
20    throw new RuntimeException("Can not instantiate DAO: " + daoClass, ex);
21    }

22  }

23
24  public static <extends GenericDAO> T getDAO(Class<T> daoClass)
25  {
26    GenericDAO d ao = instantiateDAO(daoClass);
27
28    return (T)dao;
29  }

30}

然后就可以寫具體的實現方法,例如:  
1  public Usrdpf save(Usrdpf user)
2  {
3      
4      Transaction tx = getSession().beginTransaction();
5      getSession().insert(user);   
6      tx.commit();
7
8    return user;
9  }


別忘記在配置文件中加入實體類的映射
1<mapping class="com.csc.user.util.entities.Usrdpf"/>
2<mapping class="com.csc.user.util.entities.ExUserMapping"/>

然后打包成AAR,使用我們開頭講的小工具生成aar就可以了