Почему Spring не связывает мои элементы @Autowired в зависимой банке?

Я создаю приложение Google App Engine с использованием Spring 3.1, и у меня возникла проблема с подключением участников в одном из моих jar-файлов.

У меня есть три проекта:

  1. server
  2. server.model
  3. server.persistence

У меня есть скрипт сборки ant, поэтому при сборке моего рабочего пространства он создает jar-файлы для server.modelи server.persistenceи помещает их в правильный каталог lib для проекта server.

В serverя могу автоматически связывать вещи как из server.model, так и из server.persistence, но в server.modelмои компоненты server.persistenceне подключаются, хотя они точно такие же, как в server.

фрагмент из моей конфигурации приложения сервлета:

<context:component-scan base-package="com.impersonal.server"/>          

<bean autowire="byType" id="appEngineDataStore" class="com.impersonal.server.persistance.AppEngineDataStore"/>

<bean autowire="byType" id="userList" class="com.impersonal.server.model.UserList"/>

У меня есть следующий код как в проекте server, так и в проекте server.model, и выполняется только серверный. Вот тот, который не работает:

package com.impersonal.server.model;

import java.util.ArrayList;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;

import com.impersonal.server.persistance.AppEngineDataStore;
import com.impersonal.server.persistance.IDataStore;

public class UserList extends ArrayList<User>
{
    private UserList(){}

//this is always null, but the same line in a class in the other project works
private @Autowired AppEngineDataStore _dataStore;

public UserList(UUID userId, String tempId)
{
    String poo = "poo";
    poo.concat("foo ");

    int i = 3;
}
}

Изменить: Только что сделал тест в проекте server.model, пытаясь @Autowired что-то, что я не определил как bean-компонент в моей конфигурации приложения, и не получил никаких ошибок. Я должен был получить ошибку «такой bean-компонент не найден», как если бы я сделал то же самое для проекта server.

Есть идеи, почему?

6
задан MStodd 21 June 2012 в 09:02
поделиться