http://www.iteye.com/topic/563302
http://www.iteye.com/topic/566664
通过对xuzhfa123 这两篇贴子的阅读,自己也试着完成了一个例子
服务器端开发:
实体类开发UserInfo.java:
public class UserInfo implements java.io.Serializable {
private static final long serialVersionUID = 2281022190032353574L;
private Long id;
private String name;
private Integer age;
//省略getter/setter……
hibernate 映射文件开发UserInfo.hbm.xml(由myeclipse自动生成):
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="entity.UserInfo" table="M_USER" schema="TEST">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="10" not-null="true" />
</property>
<property name="age" type="java.lang.Integer">
<column name="AGE" precision="22" scale="0" not-null="true" />
</property>
</class>
</hibernate-mapping>
hibernate.cfg.xml文件:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="connection.username">test</property>
<property name="connection.url">
jdbc:oracle:thin:@10.33.6.237:1521:orcl
</property>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="myeclipse.connection.profile">odbc</property>
<property name="connection.password">test</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="show_sql">true</property>
<property name="connection.autocommit">true</property>
<mapping resource="entity/UserInfo.hbm.xml" />
</session-factory>
</hibernate-configuration>
web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
数据持久层dao接口->HibernateDao.java:
public interface HibernateDao {
public void save(UserInfo object);
public void delete(UserInfo object);
public void update(UserInfo object);
public UserInfo get(Long id);
}
dao实现类->HibernateImpl.java
public class HibernateDaoImpl extends HibernateDaoSupport implements HibernateDao{
public void delete(UserInfo object) {
}
public UserInfo get(Long id) {
return (UserInfo) getHibernateTemplate().get(UserInfo.class, id);
}
public void save(UserInfo object) {
this.getHibernateTemplate().save(object);
}
public void update(UserInfo object) {
getHibernateTemplate().update(object);
}
}
业务层IService接口->IService.java
@WebService
public interface IService {
public void save(@WebParam(name="user") UserInfo object);
public void update(@WebParam(name="user")UserInfo object);
public @WebResult(name="name") String get(@WebParam(name="id")Long id);
}
IService实现类->ServiceImpl.java
@WebService
public class ServiceImpl implements IService{
private HibernateDao dao;
public HibernateDao getDao() {
return dao;
}
public void setDao(HibernateDao dao) {
this.dao = dao;
}
public String get(Long id) {
return dao.get(id).getName();
}
public void save(UserInfo object) {
dao.save(object);
}
public void update(UserInfo object) {
dao.update(object);
}
}
Spring 配置及WebService发布配置:
<?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:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
>
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="hdao" class="dao.impl.HibernateDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="service" class="service.impl.ServiceImpl">
<property name="dao" ref="hdao"></property>
</bean>
<jaxws:endpoint id="myService" address="/myService" implementorClass="service.impl.ServiceImpl">
<!--这里很重要,一定不能漏掉-->
<jaxws:implementor ref="service">
</jaxws:implementor>
</jaxws:endpoint>
</beans>
到此服务器端就算开发完毕,可以通过访问http://localhost:8080/wssprhib/myService?wsdl来查看wsdl文件
客户端开发:
新建java project 命名为test
打开cmd,运行 wsdl2java -p wssprhib.service -d d:\ htttp://localhost:8080/wssprhib/myService?wsdl
将wsdl文件转化成java文件,将产生的java文件复制到test工程src下,接下来就可以写测试方法了
client.java:
public class Client {
public Client(){
}
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("/wssprhib/beans.xml");
IService is=(IService) context.getBean("client");
UserInfo u=new UserInfo();
u.setName("1234");
u.setAge(1);
is.save(u);
System.out.println(is.get(181l));
}
}
client-beans.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!-- START SNIPPET: beans -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">
<bean id="client" class="service.HelloWorld"
factory-bean="clientFactory" factory-method="create"/>
<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="service.HelloWorld"/>
<property name="address" value="http://localhost:8080/cxftest/HelloWorld"/>
</bean>
</beans>
<!-- END SNIPPET: beans -->
运行client,查看sql语句,就可以看到成功访问数据库了
分享到:
相关推荐
简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar...
cxf+spring实现webservice
cxf+spring 实现websevice的maven项目,此例子简单,易懂,对刚接触cxf webservice的非常有帮助!
CXF+Spring+Hibernate实现WebService,实现的方法比较简单,只有一个增加的方法,没有用到Struts 有服务端代码和客户端测试代码
CXF+Struts+spring的示例
cxf+spring+hibernate集成整合jar包
CXF+spring+struts实现WebService
cxf+spring开发webservice的简单实例,通过查看cfx的doc文档确定wsdl支持所引用的最少jar包
基于CXF的WebService服务端和客户端示例,CXF+Spring,希望能为WebService开发者提供帮助。WebService,CXF,Spring.
CXF+Spring+Tomcat发布WebService
cxf+spring webService实例,用到的包自己导入吧!
这里少了一个类,是根据实体类生成xml的文件下载地址为:http://download.csdn.net/detail/qq_14996421/9495688
web项目使用spring和cxf的一个开发实例,有简单的代码样例和jar。是一个完整的项目,最终发布完成时访问 http://ip:port/项目名称/webservices/ 就会发现你发布的webservice服务。
使用cxf+spring框架开发webservice的客户端与服务端代码,用于连接两个项目
这个是cxf 集成spring 的webservice的例子 供大家参考
cxf+spring+tomcat 只是演示,一个helloWorld的例子
这个是cxf+spring发布webservice和restservice的服务端项目
webservice+cxf+wss4j+spring 整合的demo 其中bean 中有和其他bean对应关系的是建了个中间类进行传输,因为问题的解决办法是后来想到的没有写到里面,有问题可以联系我
为了整合Android后台而开发的使用Webservice的服务器端,导入MySQL数据库文件运行test中的类可以使用,在Android端如何使用请看下篇Android端的项目
cxf+spring+jdk1.5开发webService部署weblogic9.2