@Configuration
@ConditionalOnClass(MathUtils.class)
@EnableConfigurationProperties(MathUtilsProperties.class)
public class MathUtilsAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public MathUtils mathUtils() {
return new MathUtils();
}
}
@ConfigurationProperties(prefix = "math.utils")
public class MathUtilsProperties {
}
public class MathUtils {
}
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
math.utils.enabled=true
@RestController
public class MathUtilsController {
private final MathUtils mathUtils;
public MathUtilsController(MathUtils mathUtils) {
this.mathUtils = mathUtils;
}
@GetMapping("/add")
public int add(@RequestParam int a, @RequestParam int b) {
return mathUtils.add(a, b);
}
}