`
han_zw
  • 浏览: 172743 次
  • 性别: 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服务

    将Wink与Spring集成,可以充分利用两者的优点,实现高效、灵活的REST服务开发。 集成Spring和Apache Wink的主要目标是利用Spring的IOC容器管理Wink的组件,如资源、过滤器和消息处理器,以及利用Spring的数据访问和...

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

    Apache Wink与Spring框架的集成允许我们利用Spring的强大功能,如依赖注入(DI)和AOP。在`spring`配置文件中,我们可以定义Bean并将其注入到Wink资源类中。 ```xml &lt;beans xmlns="http://www.springframework.org/...

    apache-wink-1.4-src.tar.gz

    7. **与Spring集成**:Wink可以与Spring框架无缝集成,便于利用Spring的依赖注入和管理功能。 **解压和使用源代码:** 1. **解压文件**:首先,你需要使用解压工具(如tar命令在Linux或macOS,或7-Zip在Windows)来...

    apache-wink-1.2.1-incubating.tar.gz

    6. **安全集成**:Wink可以与常见的安全框架集成,如Spring Security或JAAS,为Web服务提供身份验证和授权功能。 7. **调试和监控**:Wink提供了一套丰富的工具和日志选项,帮助开发者调试和优化他们的RESTful服务...

    wink.min.js

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

    apache-wink-1.1.1-incubating.tar.gz

    - 解压后,开发者可以查看文档,了解如何配置和集成Wink到他们的项目中,或者直接使用提供的示例代码开始编写REST服务。 5. **开发流程**: - 创建REST资源类,使用JAX-RS注解来定义HTTP方法和URI模板。 - 配置...

    apache-wink-1.2.0-incubating.tar.gz

    此外,Wink还支持JAX-RS(Java API for RESTful Web Services)规范,使得与已有的JAX-RS兼容的服务集成变得简单。 在实际应用中,开发者可以利用Wink的注解来定义REST资源,如`@Path`用于指定资源的URI,`@GET`, `...

    易用的录屏软件wink

    Wink不仅限于简单的屏幕捕捉,还集成了编译功能,允许用户对录制的视频进行后期编辑,如剪辑、添加注释等,使得最终输出的视频更具专业性和观赏性。这对于那些需要制作详细教程或者演示的人来说,无疑是一大福音。 ...

    apache-wink-1.4.tar.gz

    6. **安全性**:通过与Servlet容器集成,Wink可以利用容器提供的安全性特性,如基本认证、摘要认证等。 7. **扩展性**:Wink设计时考虑了插件机制,允许开发者自定义处理器、消息处理器链和序列化/反序列化策略。 ...

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

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

    wink2.0一种支持录制flash过程的工具

    7. **安装与配置**:安装和配置Wink2.0可能涉及一些系统要求和设置调整,用户需要熟悉这些过程。 8. **兼容性**:考虑软件的兼容性问题,比如操作系统版本、Flash Player版本以及可能的硬件要求。 以上是对Wink2.0...

    Apache Wink 和 REST1

    RESTful Web 服务和 Apache Wink

    Wink 免费录屏软件

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

    免费的好用的wink录像文件

    Wink是一款功能强大的屏幕录制工具,特别适合用来创建软件教程和演示。它的核心特性在于能够捕捉屏幕活动并将其转化为高质量的交互式动画,这在软件教学、产品展示以及在线帮助文档制作等方面非常实用。免费且易用是...

    wink20-1060

    与常见的MP4或AVI格式相比,SWF文件在不牺牲画质的情况下,能有效降低存储空间的需求,这对于网络传输和在线播放非常有利。 首先,让我们深入了解一下wink20-1060的录屏功能。这款软件允许用户自定义录制区域,无论...

    apache-wink-1.0-incubating.tar.gz

    1. **源代码**:Apache Wink的Java源代码,分为多个模块,涵盖了框架的主要组件,如Servlet容器集成、客户端API、JAX-RS实现等。 2. **文档**:用户指南、开发者文档和API参考,帮助用户理解如何使用和扩展Wink。 3....

    Apache Wink 和 REST

    RESTful Web 服务和 Apache Wink

    apache-wink-1.3.0-src.tar.gz

    总结起来,"apache-wink-1.3.0-src.tar.gz"是一个包含Apache Wink 1.3.0版本源代码的压缩包,适合对RESTful Web服务感兴趣的开发者,他们可以借此深入了解Wink的内部机制,进行定制开发,并与其他Java技术结合使用,...

    用maven创建基于wink的rest服务(二)-携带参数的get请求

    确保创建一个`applicationContext.xml`文件,其中包含Spring配置,用于扫描包含REST资源的包。 最后,在Web应用的`web.xml`中配置WinkServlet和我们的Wink应用: ```xml &lt;listener-class&gt;...

    wink-client-apache-httpclient-1.4.zip

    Salat是一个与MongoDB集成的Scala库,它简化了MongoDB数据模型的映射,允许开发者用Scala语言进行操作,提供了更简洁的代码和类型安全。 Salat的主要特点包括: 1. 基于Case类的数据映射:在Scala中,Case类是一种...

Global site tag (gtag.js) - Google Analytics