@Value("#{T(java.time.LocalDate).now()}")这个获取不到今天日期,报空指针错误,该怎么解决?
时间: 2023-07-16 08:13:47 浏览: 153
Java 8新时间日期库java.time的使用示例
这个问题可能是因为在 Spring 容器启动时,`LocalDate.now()` 可能还未初始化,因此会报空指针异常。
你可以尝试通过修改 `@Value` 注解中的表达式来解决这个问题,例如:
```java
@Value("#{T(java.time.LocalDate).now().toString()}")
private String today;
```
这样就可以先获取 `LocalDate` 对象,再将其转换为字符串格式,避免了直接使用 `LocalDate.now()` 导致的空指针异常。
另外,你也可以在代码中显式地调用 `LocalDate.now()` 方法来获取当前日期,避免使用 `@Value` 注解。例如:
```java
private String today = LocalDate.now().toString();
```
这样就可以直接在代码中获取当前日期,而不需要通过注解来注入。
阅读全文