如何@autowire一些豆到JsonSerializer?


问题内容

我在Web应用程序中使用了Hibernate的延迟加载。

我想在服务器响应的解析阶段从数据库加载一些对象

@Component
public class DesignSerializer extends JsonSerializer<Design> {
@Autowired
IDesignService designService; <-- is null

}

这是完全可以理解的,因为DesignSerializer每个对象都使用“ new”运算符实例化了。

我确信一旦创建它,​​就有一种方法可以将我的bean注入该序列化程序,我只是不知道如何。

你们可以帮我还是指出正确的方向。


问题答案:

解决办法是
SpringBeanAutowiringSupport
如果你正在使用Spring框架2.5+。

public class DesignSerializer extends JsonSerializer<Design> {

    @Autowired
        IDesignService designService;
    }

    public DesignSerializer(){
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);    
    }

...

}

希望对您有帮助