使用spring发送电子邮件失败了

时间:2017-03-30 13:23:58

标签: spring spring-boot

我正在开发一个项目(使用spring boot),我需要发送实时电子邮件通知,电子邮件服务在其他类中调用,而不是在控制器中。 我收到一个错误,我的服务邮件是null但当我把它放在控制器(RestController)时,它正在工作。 我的错误在哪里? 是否可以在其他课程(服务)中呼叫邮件服务? 对于使用RestController的过程,我使用了这个例子,正如我所说的那样,这里是链接: http://therealdanvega.com/blog/2016/01/13/sending-async-emails-in-spring

2 个答案:

答案 0 :(得分:0)

  

我收到一条错误,我的服务邮件是null但是当我把它放在控制器(RestController)中它正在工作

这意味着Spring没有将服务实例注入控制器。在这种情况下,很难为您提供帮助,因为您既没有提供错误消息也没有提供控制器代码。我建议查看以下内容

  • 使用@Autowired(或@Inject
  • 注释服务的类成员
  • 使用邮件服务的bean在应用程序上下文中定义

另请参阅:Why is my Spring @Autowired field null?

答案 1 :(得分:0)

如果您从另一个类调用服务,那么@Autowire注释将无法工作,该类不是由Spring容器管理的。以下链接与您的问题相同。

@Autowired and @Service working from controller but not from a different package

如果要从另一个不由Spring管理的类中调用此Service类,请在Service类中使用getter / setter方法。如果您共享代码,那么调试更多代码会很有帮助。