https://medium.com/@AlexanderObregon/spring-boot-conditionalonmissingclass-annotation-explained-fc21d5f876d6