java - 如何使用 spring 框架检查启动和停止?

标签 java spring

您好,我需要在我的应用程序启动时发送电子邮件,并在我的应用程序停止时发送电子邮件。

使用 Spring ...

public class Main {
    public static void main(String[] args) {
        FileSystemXmlApplicationContext fac = new FileSystemXmlApplicationContext("config/applicationContext.xml");
    }
}

其余部分通过应用程序上下文连接...

我想我可以只注入(inject)一个实现智能生命周期的简单 bean,并从 start()stop() 方法中发送电子邮件?

最佳答案

您可以简单地在默认单例范围内使用一个 bean,并声明它的 init 和 destroy 方法。这个 bean 不需要遵守 Spring,可以是这样的:

public class StartAndStop {

    public void onStart() {
        // send the mail signaling start of application
        ...
    }

    public void onStop() {
        // send the mail signaling stop of application
        ...
    }
}

在 xml 配置中:

<bean class="org.example.StartAndStop" init-method="onStart" destroy-method="onStop"/>

并使用 Java 配置

@Configuration
public class Configurer {

    @Bean(initMethod="onStart", destroyMethod="onStop")
    StartAndStop startAndStop() {
        return new StartAndStop();
    }
    ... other beans configuration ...
}

当然也可以使用spring在bean上设置属性...

关于java - 如何使用 spring 框架检查启动和停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149643/

相关文章:

java - 必须将 Context 传递给大多数类是糟糕设计的标志吗?

java - 跨 Spring MVC Controller 方法共享数据

java - 如何删除文件末尾的空行?

java - 为什么我没有看到多个线程打印出重复值?

java - xslt:Saxon 9.4 与 Saxon 9.6 中的消息

spring - 父表和子表之间的映射不正确

java - 微服务资源管理

Java Swing定时器问题

java - 将xml解析为java对象

java - spring boot:无法解析导入的org.springframework.jdbc.core.JdbcTemplate