欢迎关注本人公众号
springcloud系列学习笔记目录参见博主专栏 spring boot 2.X/spring cloud Greenwich。
书接上文。
前面讲了springboot的实现基础是spring的@Conditional注解。介绍原理前我们来看看怎么用。后面介绍其原理。
我们实现这么一个小功能:根据不同的环境,实例化不同的bean。
springboot通常都是通过-Dspring.profiles.active=dev
来区分环境的,如果我们想实现线上的代码逻辑与开发或者测试环境不同,那么这是一个解决方案。
使用java的多态,先定义一个接口:
public interface EnvironmentService {
void printEnvironment();
}
然后定义两个不同环境的实现类,内容比较简单,只是输出一句log。
@Slf4j
public class ProdService implements Envi