`
han_zw
  • 浏览: 171696 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Wink与Spring集成的配置

阅读更多

1. 引言

Apache Wink 是一个 Restful 开发 JAXB-RS 规范的实现框架,和以前用过的 CXF 比较多, restful 还是比较小巧的(小巧也是应该,毕竟 wink 只是 restful 的框架,并不支持 SOAP )。 Wink 的部署也很简单,大概有三种方式吧。

第一种是通过注册 wink 提供的 SimpleWinkApplication 来注册 restful 的资源,资源直接在配置文件中声明。配置文件内容举例:

文件: rest-resources.properties

# Resources
com.example.FooResource
com.example.BarResource

         在系统的 web.xml 中将上述文件配置到 restful servlet 的初始化参数中。如下

<servlet>
<servlet-name>restSdkService</servlet-name>
<servlet-class>
org.apache.wink.server.internal.servlet.RestServlet
</servlet-class>
<init-param>
<param-name>applicationConfigLocation</param-name>
<param-value>/WEB-INF/rest-resources.properties </param-value>
</init-param>
</servlet>

 

         第二种是通过 Application 注册资源,通过实现 javax.ws.rs.core.Application 接口来配置和注册资源。

    以上两种我们只是简单介绍,配置均比较直观,参考 wink 的官方文档均能比较容易配置实现。本文主要介绍下第三种方式——与 spring 集成。关于与 spring 集成,官方文档也有介绍,但是在具体某些地方说的不够到位,对于刚接触 wink 的使用者在实施过程中可能就会遇到那些不是问题的问题。下面就详细介绍下集成的配置过程。而对于 restful 资源的开发不在本文介绍之内。

2. Web.xml 的配置

首先在系统的 web.xml 配置文件中我们需要加入 wink servlet 配置,这也是 wink 实现 restful 服务的入口, Wink 通过该 RestServlet 处理接收到的 HTTP 请求。

配置如下:

<servlet>
         <servlet-name>restService</servlet-name>
         <servlet-class>
         org.apache.wink.server.internal.servlet.RestServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
            <servlet-name>restService</servlet-name>
            <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

 

因为我们是要和 spring 集成的,因为在 web.xml 中还要加入 spring 的支持。配置如下:

<context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:META-INF/server/wink-core-context.xml
           classpath:applicationContext-*.xml
       </param-value>
    </context-param>
    <listener>
       <listener-class>
           org.springframework.web.context.ContextLoaderListener
       </listener-class>
</listener>

 

这里有一点是需要注意的,就是参数值 classpath:META-INF/server/wink-core-context.xml ,这个文件是存在 wink wink-spring-support-1.2.0-incubating.jar 中的,这个 jar 可以在下载的 apache-wink-1.2.0-incubating.zip ext 目录中找到。如果要修改其中的默认配置,可以将该文件拷出来另存到其他目录并进行修改,当然这样的话此处的配置也需要重新指定到新路径。 classpath:applicationContext-*.xml 这个配置项是指的 spring 的配置文件。

至此, web.xml 文件的配置工作就完成了。

3. Spring 的配置

<bean id="fooResource" class="com.harvey.stuido.ws.rest.resources.FooResource"/>
<bean class="org.apache.wink.spring.Registrar">
    <property name="classes">
        <set value-type="java.lang.Class">
        </set>
    </property>
    <property name="instances">
        <set>
           <ref bean="fooResource" />
        </set>
    </property>
</bean>    
 

其中的 fooResource 是我们要发布的 restful 的资源(关于 restful 资源的开发略)。其中的 classes 配置项中的 class 集合我们留空,这个配置与前面提到的第二种方式的 Application getClasses 功能类似,因为我们是要想利用 spring 来管理各个 resource ,所以我们只配置 instances 配置项,这样也能方便保证资源的单例。

分享到:
评论

相关推荐

    apache wink集成spring 开发rest服务

    spring与wink集成开发rest服务,包括说明文档、源码、可执行文件

    apache wink rest学习(配置、编码、调用)

    NULL 博文链接:https://626333422-qq-com201110121851.iteye.com/blog/2368512

    wink.min.js

    WINK主要用于移动开发 WINK主要用于移动开发 WINK主要用于移动开发 WINK主要用于移动开发 WINK主要用于移动开发

    py-wink, python 库与Wink器件的接口奇特.zip

    py-wink, python 库与Wink器件的接口奇特 ( ;)用于与Wink设备接口的python 库,包括:"Eggminder"eggtray"Nimbus cloud_clock""pivot 电源天才"powerstrip"Porkfolio"piggy_bank"Spo

    Apache Wink 和 REST1

    RESTful Web 服务和 Apache Wink

    Wink 免费录屏软件

    Wink 是一款非常优秀的免费录屏软件,尤其适合制作计算机操作教程。它在国外备受推崇,但国内应用较少少。Wink免费、小巧(3MB)、可同期或事后加入声 音、可加入暂停及跳转按钮、添加注释,并且生成的 flash 文件比...

    Apache Wink 和 REST

    RESTful Web 服务和 Apache Wink

    Wink 2.0

    Wink在国外非常受推崇,是最好免费的录屏工具。它体积小巧、录屏可含声音、可加入暂停和注释以及交互按钮,将结果保存为通用的flash格式,生成的文件极小。 可以在File-&gt;Choose Language下面选择简体中文,Help下面...

    Wink20

    Wink是一款免费的演示文档制作软件。它好像一部超级“DV”,能录制下电脑屏幕上的任何动作,由此你可以想像它的应用范围会是相当广泛的。主要功能有:录制屏幕录像(录像的长短取决于你硬盘的大小);创建具备按钮和...

    apache-wink-1.1.1-incubating.tar.gz

    标签:apache-wink-1.1.1-incubating.tar.gz,apache,wink,1.1.1,incubating.tar.gz包下载,依赖包

    apache-wink-1.4.tar.gz

    标签:apache-wink-1.4.tar.gz,apache,wink,1.4.tar.gz包下载,依赖包

    apache-wink-1.3.0-src.tar.gz

    标签:apache-wink-1.3.0-src.tar.gz,apache,wink,1.3.0,src.tar.gz包下载,依赖包

    apache-wink-1.2.0-incubating.tar.gz

    标签:apache-wink-1.2.0-incubating.tar.gz,apache,wink,1.2.0,incubating.tar.gz包下载,依赖包

    apache-wink-1.4-src.tar.gz

    标签:apache-wink-1.4-src.tar.gz,apache,wink,1.4,src.tar.gz包下载,依赖包

    视频录制软件wink

    Wink 是一款非常优秀的免费录屏软件,尤其适合制作计算机操作教程。它在国外备受推崇,但国内应用较少少。Wink免费、小巧(3MB)、可同期或事后加入声音、可加入暂停及跳转按钮、添加注释,并且生成的 flash 文件比...

    录屏软件Wink使用视频教程

    此软件是一款国外免费软件,国内用的人不多,但的确是款好软件。可用它录屏,完成后保存成flash格式的文件。它具有插入声音,添加说明文字,添加跳转按钮的作用,更重要的是,用它制作出的swf格式文件可以很小,比...

    wink:Wink Hub API 的 Ruby 包装器

    gem 'wink' 然后执行: $ bundle 或者自己安装: $ gem install wink 用法 Wink . configure do | wink | wink . client_id = ENV [ 'WINK_CLIENT_ID' ] wink . client_secret = ENV [ 'WINK_CLIENT_SECRET...

    易用的录屏软件wink

    录屏+编译 强大而且容易操作,免安装使用,多种语言转换,帮助里带有操作demo。可以输出exe、swf等文件。

    wink20-1060

    比屏幕录像专家好用的多的屏幕录像工具,可以生成swf文件。

    apache-wink-1.2.0-incubating-src.tar.gz

    标签:apache-wink-1.2.0-incubating-src.tar.gz,apache,wink,1.2.0,incubating,src.tar.gz包下载,依赖包

Global site tag (gtag.js) - Google Analytics