为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Web 应用程序中初始化 bean 之前从动物园管理员加载属性到环境中

如何在 Web 应用程序中初始化 bean 之前从动物园管理员加载属性到环境中

智慧大石 2022-09-28 14:28:31
基于弹簧的Web应用程序:现有:上下文从文件(“web.xml”)加载,并且应用程序所需的属性从xml上下文文件中引用的属性文件加载。新:现在应该从动物园管理员那里读取属性(以及属性文件)。读取属性所需的 Java 代码是使用动物园管理员属性源完成的问题:我需要在哪里插入java代码,以便从动物园管理员加载属性以及应用程序上下文的初始化?我无法使用应用程序事件查看器(因为上下文启动事件不会自动触发)和 BeanFactoryPost 处理器(环境不可用于绑定属性)来实现此目的
查看完整描述

1 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

解决方案:
创建一个扩展“上下文加载器侦听器”类的新类,并重写方法“Web 应用程序上下文创建Web应用程序上下文(ServletContext sc)”。由于 Web 应用程序上下文将在此处提供,因此可以将“动物园管理员属性源”设置为该环境。

示例代码:

@Override
protected WebApplicationContext createWebApplicationContext(ServletContext servletContext) {
    WebApplicationContext webApplicationContext = super.createWebApplicationContext(servletContext);
    loadZookeeperPropertySource(webApplicationContext.getEnvironment());
    return webApplicationContext;
}

loadZookeeper属性源(环境环境)是一种方法,其中使用动物园管理员属性源定位器从动物园管理员加载属性源并将其设置为环境


查看完整回答
反对 回复 2022-09-28
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信