Я создаю приложение Google App Engine с использованием Spring 3.1, и у меня возникла проблема с подключением участников в одном из моих jar-файлов.
У меня есть три проекта:
server
server.model
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
.
Есть идеи, почему?