0

ここで春の初心者。SpringMVC3.0.2アプリでGlassfish3.0.1から次のエラーが発生します。

rg.glassfish.deployment.common.DeploymentException: WELD-001408 Injection point has unsatisfied dependencies.  Injection point:  parameter 0 of constructor public controller.CustomWebArgumentResolverInstaller(org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter);  Qualifiers:  [@javax.enterprise.inject.Default()]

私のapplicationContext.xmlには

<mvc:annotation-driven />

CustomWebArgumentResolverInstaller.javaは次のとおりです。

package controller;

import javax.inject.Inject;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter;
import org.springframework.web.bind.support.WebArgumentResolver;
import org.springframework.mobile.device.mvc.DeviceWebArgumentResolver;



@Component
public class CustomWebArgumentResolverInstaller {

@Inject
public CustomWebArgumentResolverInstaller(AnnotationMethodHandlerAdapter controllerInvoker) {
    WebArgumentResolver[] resolvers = new WebArgumentResolver[1];
    resolvers[0] = new DeviceWebArgumentResolver();
    controllerInvoker.setCustomArgumentResolvers(resolvers);
}
}

何を探すべきかについてのアイデアは大歓迎です。私はこれに慣れていないので、投稿に関連するものがわかりません。他の情報が必要な場合は、お問い合わせください。

4

1 に答える 1

1

あなたのケースでは、JSR-330 注釈 (@Injectなど@Named) が Spring ではなく Glassfish によって解決されているようです。どうすればそれを抑制できるかはわかりませんが、@Autowired代わりに Spring ネイティブ アノテーション ( ) を使用するだけで回避できます。

于 2012-09-04T00:02:22.630 に答える