首页 > 解决方案 > 通过 JEE 应用程序中的注解触发 Spring 配置

问题描述

War 应用程序使用 JEE/CDI/JAX RS 堆栈,由 Wildfly 管理/部署到 Wildfly。

我想简化应用程序的某些部分,例如让 Spring 处理属性文件中的配置。所以我需要将 JEE 和 Spring 结合在一起。

这是弹簧配置:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource("classpath:test.properties")
public class Config {

  @Value( "${hostName}" )
  private String hostName;

  public String getHostName() {
    return hostName;
  }
}

Config通过 CDI 注解注入:

import javax.inject.Inject;

public class Consumer {

  @Inject
  Config config;

  public String test(){
    return "test +" + config.getHostName();
  }
}

Config注入成功,但它的getHostName方法总是返回null。在 Maven 依赖项中,我将spring-core, spring-context,包含spring-beans到依赖项中。

现在该test.properties文件在类路径中不存在。

如何触发Spring加载文件并抛出文件不存在的异常。以确保它有效。

标签: javaspringjakarta-eeconfiguration

解决方案


推荐阅读