spring autowiring失败但appcontext解析bean

时间:2011-04-07 09:28:01

标签: spring autowired

我有春天的以下问题。我有一个webapp和一个域项目。域项目包含一个studentService,应该通过webapp中的类自动装配注入。我已经添加到appcontext.xml。

这是来自webapp的课程:

@Component
public class JSONToDomainObjects
{

@Autowired
private StudentService studentService;

private void bindSubmissionValuesToDomainObjects(Integer userKey) throws Exception
{
 Student student =  studentService.getStudentBySlNumber(userKey);
}
}

然后是学生服务:

@Service
public class StudentService
{
  ..
}

因此,一旦我启动我的应用程序,我看到studentService为null,但是当我获得appcontext并调用方法getBean(“studentService”)时,返回的是studentservice实例。我使用spring 3.0.5。有人知道自动装配失败的原因吗?

欢呼声,

迈克尔

2 个答案:

答案 0 :(得分:2)

为什么不在测试类中使用依赖注入?像这样:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"appcontext.xml"})
public final class JSONToDomainObjectsTests {
    private StudentService service;

    @Autowired
    public void setService(StudentService service) {
        this.service= service;
    }

    @Test
    public void testJSONToDomain() {
        service.foo();
    }
}

答案 1 :(得分:1)

您是否在appcontext.xml中使用<context:annotation-config/>