6

以下にリストされている依存関係を持つ Maven プロジェクトがあります。

ここに画像の説明を入力

wink.version = 1.1.3-incubating and spring.version = 3.0.5.RELEASE

Spring のアプリケーション コンテキストには以下が含まれます。

    <bean class="org.apache.wink.spring.Registrar">
    <property name="classes">
        <set value-type="java.lang.Class">
        </set>
    </property>
    <property name="instances">
        <set>
            <ref local="restexample" />
        </set>
    </property>
    </bean>
    <bean id="restexample" class="com.example.rest.ExampleRest"></bean>

web.xml には以下が含まれます。

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:META-INF/wink/wink-core-context.xml
        classpath:applicationContext.xml
    </param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>restServlet</servlet-name>
    <servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>restServlet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

Rest Java クラスには以下が含まれます。

@Path("/ex")
public class ExampleRest {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String example() throws IOException {
        return "{ 'id':'test' }";
    }
}

ログを見ると、例外や問題は見られません。「restexample」Bean は作成されていますが、REST サービスを呼び出そうとすると404が返されます。

ExampleRestは Apache Wink によって登録されていないと思います。

何か案が ?

UPDATE 02/14 : ログを見ると、ExampleRest が Apache Wink によって登録されていないことに気付きました。おそらく、問題はBeanの宣言内にあるか、使用している依存関係にあるのでしょう。春のない別のプロジェクトもセットアップしましたが、そこで動作します。Daos とサービスに彼の IOD を使用するには、Spring が本当に必要です。

4

1 に答える 1