HSF服务的开发与使用

HSF服务的开发

1、配置项目的pom.xml,在pom.xml中添加HSF相关依赖

<!-- HSF服务的依赖-->
52     <dependency>
53       <groupId>com.taobao.hsf</groupId>
54       <artifactId>hsf.app.spring</artifactId>
55       <version>1.4.9.2</version>
56     </dependency>

2、 编写服务接口和服务的实现

1 package com.hsf.services;
 2 import java.lang.String;
 3 public interface SayHelloService{
 4     public String sayHello(String user);
 5 }
 6 package com.hsf.services.impl;
 7 import com.hsf.services.SayHelloService;
 8 public class SayHelloServiceImpl implements SayHelloService {
 9       public String sayHello(String user) {
10         return "Hello "+user+" ,Time is "+System.currentTimeMillis()+"(ms)";
11       }
12     }

3、在Spring的配置文件中配置HSFSpringProviderBean

<?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns="http://www.springframework.org/schema/beans"       xsi:schemaLocation="            http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-3.1.xsd                ">
 3     <!-- HSF服务配置-->
 4     <!--配置SayHelloService服务的实现 -->
 5     <bean id="SayHelloServiceImpl" class="com.hsf.services.impl.SayHelloServiceImpl"/>
 6     <!--配置SayHelloService服务提供者-->
 7     <bean id="SayHelloService" class="com.taobao.hsf.app.spring.util.HSFSpringProviderBean" init-method="init">
 8         <!--配置服务提供者对外提供的接口SayHelloService-->
 9         <property name="serviceInterface">
10             <value>com.hsf.services.SayHelloService</value>
11         </property>
12         <!--服务的实现者-->
13         <property name="target">
14             <ref bean="SayHelloServiceImpl"/>
15         </property>
16         <property name="serviceVersion">
17             <value>1.0.0.0.dev</value>
18         </property>
19         <!-- 组别一致的服务才能互相调用-->
20         <property name="serviceGroup">
21             <value>HSF</value>
22         </property>
23         <property name="serviceName">
24             <value>SayHello</value>
25         </property>
26     </bean>
27     <!--配置SayHelloService服务的消费者-->
28     <bean id="SayHelloServiceConsumer" class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean" init-method="init">
29      <!--服务的接口名和版本号须与服务提供者定义的一致-->
30         <property name="interfaceName">
31             <value>com.hsf.services.SayHelloService</value>
32         </property>
33         <property name="version">
34             <value>1.0.0.0.dev</value>
35         </property>
36     </bean>
37 </beans>

4、在Web.xml中配置spring的上下文环境

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" >
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns="http://java.sun.com/xml/ns/javaee"         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"         id="WebApp_ID" version="3.0">
 3   <display-name>HSFService</display-name>
 4  <!-- 默认显示界面 -->
 5   <welcome-file-list>
 6       <welcome-file>index.jsp</welcome-file>
 7       <welcome-file>index.html</welcome-file>
 8   </welcome-file-list>
 9    <!-- 配置spring上下文环境applicationContext -->
10    <context-param>
11        <param-name>contextConfigLocation</param-name>
12        <!-- 应用上下文配置文件 -->
13        <param-value>classpath*:applicationContext.xml</param-value>
14    </context-param>
15     <!--配置spring启动listener入口 -->
16     <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
17     </listener>
18 </web-app>

5、将HSFService部署,启动tomcat,即可在HSF服务治理中心http://ops.jm.taobao.net/hsfops中根据自己主机的IP查找自己发布的服务

6、将服务接口SayHelloService打成Jar包(二方包)以供客户端使用

HSF服务的使用

1、在客户端的pom.xml文件中添加对HSF的依赖

<dependency>
2   <groupId>com.taobao.hsf</groupId>
3   <artifactId>hsf.app.spring</artifactId>
4   <version>1.4.9.2</version>
5 </dependency>

2、在客户端的Spring配置文件中配置HSFSpringConsumerBean

1 <!--配置SayHelloService服务的消费者-->
 2 <bean id="SayHelloServiceConsumer" class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean" init-method="init">
 3     <!--服务的接口名和版本号须与服务提供者定义的一致-->
 4     <property name="interfaceName">
 5         <value>com.hsf.services.SayHelloService</value>
 6     </property>
 7     <property name="version">
 8         <value>1.0.0.0.dev</value>
 9     </property>
10 </bean>

3、引入服务端打好的二方Jar包com.hsf.services.jar,创建SayHelloServlet使用服务

1 package com.hsf.consumer;
 2 import com.hsf.services.SayHelloService;
 3 import org.springframework.web.context.WebApplicationContext;
 4 import org.springframework.web.context.support.WebApplicationContextUtils;
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9 import java.io.IOException;
10 import java.io.PrintWriter;
11 
12 public class SayHelloServlet extends HttpServlet {
13     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
14         //通过ServletContext获取Spring的上下文
15         WebApplicationContext context= WebApplicationContextUtils.getWebApplicationContext(getServletContext());
16         //通过BeanFactory获取服务的消费者SayHelloServiceConsumer
17         SayHelloService sayHelloService= (SayHelloService) context.getBean("SayHelloServiceConsumer");
18 
19         PrintWriter out=response.getWriter();
20         //调用服务
21         out.println(sayHelloService.sayHello("xiwu.xxw"));
22         out.close();
23         return;
24     }
25     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
26         doPost(request,response);
27     }
28 }

4、部署该web工程到tomcat,启动tomcat后访问http://localhost:8079/ SayHello?name=zhangsna 即可看到打印出“Hello zhangsan,Time is xxxxx (ms)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值