RefreshScoped Bean创建

时间:2018-08-29 01:27:30

标签: spring spring-boot spring-cloud-config

我有这样的配置类,并且在名称字段上进行了验证。

@Component
@ConfigurationProperties("person")
@RefreshScope
@Validated
public class PersonConfiguration {

    @NotBlank
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

@RestController
class MessageRestController {

    @Autowired
    private PersonConfiguration personConfig;

    @RequestMapping("/message")
    String getMessage() {
        return personConfig.getName();
    }
}

person:
    name: aaaa

我能够使用上述详细信息成功启动spring boot应用程序。 当我将配置更改为此

person:
    name: 

具有一个空名称字段,由于立即有一个空名称字段,我在PersonConfiguration上没有看到绑定异常。 我只有在执行诸如localhost:8080 / message这样的正在访问PersonConfiguration的rest调用时,才看到绑定异常。就像我必须等到有人访问PersonConfiguration才能看到绑定的排他性。

它应该如何工作? 当存在无效的git config更改时,有没有一种方法可以立即引发绑定异常,而无需等待访问配置的时间

0 个答案:

没有答案