gpt4 book ai didi

java - 如何在 Spring 初始化之前启动一个类?

转载 作者:行者123 更新时间:2023-11-30 08:22:11 24 4
gpt4 key购买 nike

有没有办法在 Spring 容器初始化之前执行一个类?

基本上,我有一些资源分散在构成我的应用程序的 jar 中。在第一次执行应用程序时,它们不会在文件系统上,人们有时需要能够调整这些配置文件。所以...而不是编辑它们并重新打包,我希望能够将所有这些资源从各自的 jar 外部复制到一个提取的目录结构中,在那里它们可以很容易地被更改。到目前为止,我已经实现了这一点。但是,我现在需要能够在 Spring 的容器初始化之前实际执行此操作,以便在 Spring 尝试初始化时它们存在。如何做到这一点?

我需要能够从 webapp 的角度和 JUnit 测试中做到这一点。

最佳答案

使用 ServletContextListener:在 spring servelt 之前将以下内容添加到您的 web.xml。

 <listener>
<listener-class>your.full.className.YourListener</listener-class>
</listener>

YourListener 的样子:

public class YourListener implements ServletContextListener {

@Override
public void contextInitialized(ServletContextEvent evt) {
//execute anything here.
}
}

关于java - 如何在 Spring 初始化之前启动一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24622668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com