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),因此错误。您有两个选择:
- 使用
@Component
、@Service
等使 UrlHelper
成为一个 bean。这将使您的 class 成为非静态的。
- 保持
UrlHelper
静态,并将 Environment
作为参数传递。我认为这是更正确的做法。 Environment 可以在 class 调用静态方法时注入。
我想创建一个助手 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),因此错误。您有两个选择:
- 使用
@Component
、@Service
等使UrlHelper
成为一个 bean。这将使您的 class 成为非静态的。 - 保持
UrlHelper
静态,并将Environment
作为参数传递。我认为这是更正确的做法。 Environment 可以在 class 调用静态方法时注入。