我有一个带有spring-config.xml的项目我有这样的东西:
<!-- Job & Stage status notification via email-->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${smtp.host}"/>
<property name="port" value="${smtp.port}"/>
<property name="username" value="${smtp.username}"/>
<property name="password" value="${smtp.password}"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
</props>
</property>
</bean>
在现有的课程中,我有类似的内容:
@Autowired
private StatusEmailSender emailSender;
这似乎有效。当我在自己的类中放入相同的代码片段时,emailSender
为空。我无法找到任何我遗漏的依赖项。知道怎么做吗?我的课程与其中的课程分开。知道如何告诉Spring我想要使用那个bean吗?
答案 0 :(得分:2)
如果直接为类new YourOwnClass()
创建具有emailSender
作为依赖项的对象,则可能会发生这种情况.Spring仅在注入依赖项时才会发生
依赖bean是由spring创建的。