0

以下に示すようなインターフェースがあります

   public interface UserManager {

      void insertUser(User user);
   .......

今、私は以下のような実装クラスを持っています

@Service
public class UserManagerImpl implements UserManager {

    @Autowired
    private UserDAO userDAO;

私のコントローラーで

@Controller
public class ExampleGizmoController {

    @Autowired
    private UserManager userManager;

UserDAOImpl は

@Service
public class UserDAOImpl implements UserDAO {

    @Autowired
    private SessionFactory sessionFactory;

私のapplication-context.xml

<context:annotation-config/>
<context:component-scan base-package="com.foo" />

すべてのパッケージをスキャンします。warファイルとして展開しましたが、展開が行われると、userManagerプロパティがExampleGizmoControllerに自動配線されず、Tomcatに次のようなエラーが表示されます

Spring-MVC threw load() exception: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type [com.foo.UserManager] found for dependency: expected at least 1 bean
which qualifies as autowire candidate for this dependency. Dependency annotations:
{@org.springframework.beans.factory.annotation.Autowired(required=true)}

アノテーション駆動型で、コンポーネントのスキャンがオンになっているにもかかわらず、自動配線が行われていないことがわかりました。自動配線を機能させるために他にすべきことはありますか?

4

4 に答える 4

1
 <mvc:annotation-driven/>

設定ファイルにも必要です

于 2013-04-10T12:51:25.193 に答える
0

多分それはばかげている...しかし、UserManager Implからimplements UserManagerを削除しよう..

于 2013-04-10T13:29:39.327 に答える