Helper Class Spring 使用环境值启动

Helper Class Spring Boot with Environment Values

我想创建一个助手 class,但它失败了.. 错误:java.lang.NullPointerException: null

当我在不创建静态 class(自动装配)的情况下执行此操作时,它可以正常工作。但它是一个帮手 class,我认为静态 class 是更好的东西。

感谢帮助

Helper.java

public final class UrlHelper {
    
    @Autowired
    private static Environment bean;
    
    public static String method(String projet) {    
        return "titi"+ bean.getProperty("property.name");
    }
}

在我的服务中,我是这样使用它的:

String list = getRequest.getHTTPRequest(UrlHelper.method(projet));

在 Spring 中,@Autowired 注释允许您解析 beans 并将其注入其他 beans。在你的例子中,UrlHelper class 不是一个 bean,因此,你的 Environment 没有被注入(保持 null),因此错误。您有两个选择:

  1. 使用 @Component@Service 等使 UrlHelper 成为一个 bean。这将使您的 class 成为非静态的。
  2. 保持 UrlHelper 静态,并将 Environment 作为参数传递。我认为这是更正确的做法。 Environment 可以在 class 调用静态方法时注入。