ApplicationListener 的注解版本及类似接口

2024-03-30

您可以使用如下代码根据 Web 服务关闭(或刷新/启动)的时间执行一些事件。

public class APIService implements ApplicationListener<ContextClosedEvent>
{
    @Override
    public void onApplicationEvent(ContextClosedEvent contextClosedEvent) {
        //Do shutdown work.
    }
}

有人告诉我,有一种注释驱动的方法可以做到这一点,不需要您实现这个接口。具体来说,您应该能够使用您喜欢的任何名称定义一个函数并对其进行注释,以便它在服务启动或关闭时执行。

不过,我在我的春季书中或通过谷歌找不到对此的引用。有人可以提供一个如何仅通过注释执行上述代码的示例吗?


据,直到...为止Spring 4+ 文档 http://docs.spring.io/spring/docs/4.1.6.RELEASE/spring-framework-reference/html/beans.html#context-functionality-events就您而言,不存在与您描述的完全一样的功能。

您可以使用以下方式模拟行为

@Component // defaults to eager initialization
class Setup {
    @Autowired
    private ApplicationContext context;

    @PostConstruct
    public void anyNameYouWant() {
        System.out.println("starting");
    }

    @PreDestroy
    public void hereToo() {
        System.out.println("closing");
    }
}

但您将无权访问ContextClosedEvent,也不是全范围的ApplicationContextEvents.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ApplicationListener 的注解版本及类似接口 的相关文章

随机推荐

  • 从打字稿接口生成 swagger 文档

    我在用着swager jsdoc https github com Surnet swagger jsdoc记录应用程序的所有 DTO 我想知道是否有任何方法可以从打字稿接口自动生成 swagger 文档 我的项目中有很多这样的东西 还有很
  • C# 锁定 SQL Server 表的方法

    我有一个 C 程序 需要对 SQL Server 表执行一组批量更新 20k 由于其他用户可以通过内联网网站一次更新一条记录 因此我们需要构建具有锁定表功能的C 程序 一旦表被锁定以防止其他用户进行任何更改 搜索 我们将需要执行请求的更新
  • 除了早期的 .NET 框架版本之外,Visual Studio 还可以定位早期的 C# 语法吗?

    简单的部分 使用下拉列表将 Visual Studio 2010 项目中的 NET 2 0 框架作为目标 困难的部分 是否可以针对特定的语法版本 例如var s hello world 在 VS2008 及以上版本中是有效的语法糖 但在 V
  • HTTP 请求从 Web 服务器分派到 CGI/FastCGI 进程

    为了更好地了解 Web 应用程序中 HTTP 请求的处理方式 Apache 等 Web 服务器如何将请求分派到其虚拟主机之一 无论框架 Rails PHP Java 如何 最初执行的程序是什么 如果有人能列出以 Rails 为例的步骤 据我
  • Android 和 SQLite:何时使用分号结束语句?

    如果您正在使用rawQuery or execSQL Android 上的 SQLite 方法 什么时候应该使用分号来结束语句 On 本教程 http www vogella com articles AndroidSQLite artic
  • 您可以从多个线程访问单个 std::unique_lock 吗?

    我在概念化如何unique lock应该是跨线程操作 我尝试制作一个快速示例来重新创建我通常会使用的东西condition variable for include
  • 使用 ng-repeat 时默认选中单选按钮

    我一直想使用 ng repeat 从屏幕上显示的单选按钮列表中签出一个单选按钮 但我的代码不起作用 这就是我正在做的 div class clubRole div div div
  • CI for Qt 应用程序:使用不同的 Qt 版本进行构建

    我使用 Travis CI 为我的简单 Qt 应用程序进行持续集成 我的 travis yml 文件看起来像这样 基于这个要点 https gist github com jreese 6207161 language cpp before
  • 如何在 C# 中获取应用程序设置的名称?

    在Visual C 的应用程序设置中 我们可以创建一系列具有特定Name Type Scope和Value的设置 我可以通过代码访问该值 string color Myproject Properties Settings Default
  • 比较 Go 模板中的两个变量

    在我传递给模板的数据中 我有两个变量Type and Res Type我想比较为我的选择字段预先选择一个选项 为了说明我的问题 我创建了这个简化版本 package main import bufio bytes html template
  • python 中的交互式输入

    以下是我需要执行的操作的说明 你要编写一个完整的程序 获取三段数据 然后对它们进行处理 这三条信息是布尔值 字符串和整数 程序的逻辑是这样的 如果布尔值为 True 则打印字符串两次 一次带双引号 一次不带 否则打印两倍的数字 这是我到目前
  • 动态 HTML 到 PDF [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要能够将动态 HTML 通过 javascript 在页面加载时呈现的 html 转换为 PDF 我
  • 从 WiX 提升的安装程序运行未提升的自定义操作

    我正在尝试弄清楚如何从提升的 WiX 安装设置程序运行自定义操作 WiX 生成的 msi 文件由 DotNetInstaller 执行 在 WiX 中 我有一个 Package 部分 其中 InstallScope 设置为 perMachi
  • Ajax 调用在 IE8 中不起作用

    我正在阅读几篇关于此的文章 并对我的代码进行了一些更改 但没有成功 任何人都可以调查一下 看看这里发生了什么 或者也许是另一种方法来完成我需要的事情 使用 ziptastic 通过邮政编码检索城市 州 该代码在 Chrome 中运行良好 h
  • __del__ 在程序结束时

    假设有一个程序 在运行时其中有几个对象 程序结束时是否调用每个对象的 del 方法 如果是的话 我可以做这样的事情 class Client del self disconnect from server 有许多潜在的困难 http doc
  • 从非托管 C++ 创建 DLL

    我目前有一个用非托管 C 编写的控制台应用程序 源代码由一个入口点组成main以及其他一些功能 我需要从此代码创建一个 DLL 以便我可以从其他项目 特别是托管 C 使用它 另一个问题 我是否必须为此目的编写一个包装类 由于我对托管 非托管
  • 如何使用 FastAPI 返回 HTMLResponse

    是否可以在端点显示 HTML 文件 例如用户正在访问的主页 是的 FastAPI 可能有HTMLResponse 您可以返回一个HTMLResponse from fastapi import FastAPI from fastapi re
  • 无法修改函数以独立工作而不是依赖于返回的结果

    我用 python 编写了一个脚本 在向某些链接发送请求时使用代理 以便从那里解析产品名称 我目前的尝试完美地完成了这项工作 这个功能parse product 完全依赖于返回的结果 代理 以便以正确的方式重用相同的代理 我正在尝试修改pa
  • 当网格项与末端/底部对齐时,滚动不起作用

    我想使用创建聊天CSS grid并遇到了我无法合并的问题align self end and overflow y auto The ul包含所有消息并且应该与底部对齐 这样即使只有一条消息 它也会出现在底部 聊天的页眉和页脚是固定的 您只
  • ApplicationListener 的注解版本及类似接口

    您可以使用如下代码根据 Web 服务关闭 或刷新 启动 的时间执行一些事件 public class APIService implements ApplicationListener