我正在尝试从@RestController检索存储在application.yml中的base_url。但是,当我使用下面打印的代码时,它始终返回null。有人可以让我知道为什么@Value(“ $ {base_url}”)总是返回null吗?提前致谢。

休息控制器:

@RestController
public class AccountController {

    @Value("${company.department.base_url}")
    static String base_url;

    @RequestMapping(method = RequestMethod.GET, value = "/getAccount")
    public ResponseEntity<Object> getAccount() {
        //getAccountCode
    }
}


application.yml:

company:
  department:
    base_url: https://www.test.com


TestApplication.java

@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication.class, args);
    }
}

最佳答案

您不能使用静态字段,那么您应该这样做:

@Value("${company.department.base_url}")
String base_url;


或者尝试以下解决方法:
https://www.mkyong.com/spring/spring-inject-a-value-into-static-variables/

09-09 22:53
查看更多