在Spring中访问bean

时间:2015-12-03 10:03:28

标签: java spring spring-mvc

我有一个带有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吗?

1 个答案:

答案 0 :(得分:2)

如果直接为类new YourOwnClass()创建具有emailSender作为依赖项的对象,则可能会发生这种情况.Spring仅在注入依赖项时才会发生 依赖bean是由spring创建的。