我发现一个简单的解决方案使用@ConditionalOnExpression:
@RestController
@ConditionalOnExpression("${my.controller.enabled:false}")
@RequestMapping(value = "foo", produces = "application/json;charset=UTF-8")
public class MyController {
@RequestMapping(value = "bar")
public ResponseEntity bar(
return new ResponseEntity<>("Hello world", HttpStatus.OK);
}
}
添加此注释,除非我有
my.controller.enabled=true
在我的application.properties文件中,控制器根本无法启动.
你也可以使用更方便:
@ConditionalOnProperty("my.property")
其行为与上述完全相同如果属性存在且为“true”,则组件启动,否则不启动.