当在Amazon AWS Lambda中执行代码时,我的@autowired Spring依赖项为null。如果没有加载上下文,这是有道理的,但我认为SpringBeanAutowiringSupport会有所帮助。如何在Amazon Lambda中正确注入依赖项?
这是我的代码,autowired字段为null,但其他方面都正常工作(如果我用new替换autowired):
@Component
public class ApplicationEventHandler {
@Autowired
private Foo foo;
public ApplicationEventHandler() {
logger.info("我确定构造函数正在被调用");
SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
//似乎没有帮助
}
public void deliveryFailedPermanentlyHandler(SNSEvent event, Context context) throws IOException {
foo.doStuff() // 导致NPE
}
提前感谢!
这个项目在github上提供了一个模板,它很好地满足了我想做的事情:
https://github.com/cagataygurturk/aws-lambda-java-boilerplate