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

基于弹簧的Web应用程序:现有:上下文从文件(“web.xml”)加载,并且应用程序所需的属性从xml上下文文件中引用的属性文件加载。

新:现在应该从动物园管理员那里读取属性(以及属性文件)。读取属性所需的 Java 代码是使用动物园管理员属性源完成的

问题:我需要在哪里插入java代码,以便从动物园管理员加载属性以及应用程序上下文的初始化?

我无法使用应用程序事件查看器(因为上下文启动事件不会自动触发)和 BeanFactoryPost 处理器(环境不可用于绑定属性)来实现此目的


智慧大石
浏览 85回答 1
1回答

慕森卡

解决方案:创建一个扩展“上下文加载器侦听器”类的新类,并重写方法“Web 应用程序上下文创建Web应用程序上下文(ServletContext sc)”。由于 Web 应用程序上下文将在此处提供,因此可以将“动物园管理员属性源”设置为该环境。示例代码:@Override protected WebApplicationContext createWebApplicationContext(ServletContext servletContext) {     WebApplicationContext webApplicationContext = super.createWebApplicationContext(servletContext);     loadZookeeperPropertySource(webApplicationContext.getEnvironment());     return webApplicationContext; }loadZookeeper属性源(环境环境)是一种方法,其中使用动物园管理员属性源定位器从动物园管理员加载属性源并将其设置为环境
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java