我试图在实现EnvironmentPostProcessor 的类中获取ServletContext。需要 ServletContext 来获取 war 文件名。根据 war 文件名,我从数据库获取属性,并稍后在应用程序中将属性设置为用户。
我没有使用嵌入式容器,而是使用 WildFly Server
public class ClEnvironment implements EnvironmentPostProcessor, ServletContextAware, ServletContextInitializer
但是它不起作用。
最佳答案
您无法在 EnvironmentPostProcessor
中获取 ServletContext
。后处理器是在应用程序生命周期的早期从 spring.factories 加载的。对于嵌入式 servlet 容器,该容器在容器启动且 ServletContext
可用之前很久就发生了。
这可能是 XY problem 。也许你可以问另一个问题来解释你想要做什么。可能还有另一种方法可以做到这一点,不需要访问环境后处理器中的 ServletContext
。
关于java - 在EnvironmentPostProcessor中获取ServletContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59341905/