java - 为什么 Spring 不将我的 @Autowired 成员连接到依赖的 jar 中?

标签 java spring google-app-engine ioc-container

我正在使用 Spring 3.1 构建一个 Google App Engine 应用程序,但在我的一个 jar 中获取成员时遇到了问题。

我有三个项目:

  1. 服务器
  2. server.model
  3. server.persistence

我有一个 ant 构建脚本,这样当我的工作区构建时,它会为 server.modelserver.persistence 创建 jar,并将它们放在正确的 lib 目录中对于 server 项目。

server 中,我可以从 server.modelserver.persistence 中 Autowiring 东西,但在 server.model 我的 server.persistence bean 没有连接,即使它们与 server 中的完全一样。

来 self 的 servlet 应用程序配置的片段:

<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 项目中做了一个测试,试图将我没有在我的应用程序配置中定义为 bean 的东西 @Autowired,并且没有得到任何错误。如果我为 server 项目做同样的事情,我应该会得到一个“没有找到这样的 bean”的错误。

有什么想法吗?

最佳答案

我错误地实例化了我的对象。对于框架对象和 MVC Controller 之类的对象,您无需执行任何操作来连接您的 @Autowired 成员。

对于我动态创建的对象,我没有通过 IOC 容器,这就是它们的依赖关系没有得到满足的原因。

关于java - 为什么 Spring 不将我的 @Autowired 成员连接到依赖的 jar 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134201/

相关文章:

java - 在App Engine Java中排除war目录内的文件夹

google-app-engine - 使用 Go Runtime Google App Engine 的 Google Cloud Storage Client App 错误

java - 有可能吗? 1) 连接到 Oracle 8i w/ojdbc5 或 ojdbc6 2) 多个 ojdbc jar

java - Java 中的 MQTT 客户端 - 在线程中启动我的监听器

java - 自动将 JSON 字节从 RabbitMQ 队列转换为对象

Spring MVC 与 Spring Integration HTTP : how to pass the queryString avoiding the "?" encoding with "%3F" ?

java - RabbitMQ 3.6.1/Erlang 18.3 TLS 安全性不足故障

java - 初始化本地数据存储异常 : No API environment is registered for this thread

java - 无法使用 pdfbox 和 iText 从 PDF 读取表单 (acroform)

java - Spring Security 3 中的累积过滤器