现在都在讲SOA,很多公司也是这么做的,这样做的好处我就不再这里重复了。SOA带来这些优点的同时也带来了很大的困扰,特别是在开发环境下,接口不稳定、频频挂掉,有时开发环境不如线上的数据那么丰富,想要的数据要不到,严重影响开发的进程。这种痛苦,想想就泪两行。哭归哭,哭够了,就得想一个下次不哭的方法。
在考虑解决方案时,我想尽可能的简单,尽可能的不侵入代码,于是想来想去,就下定决心要用配置的方式。在死了N多脑细胞的时候,我终于想到,下面就是我的方案,使用的是spring的注入机制。
1. 项目结构如下:
项目结构的关键是mock和线上的接口除了上一级包之外都是一致的,这样就可以通过配置包名称注入不同的类
2. 接口如下:
public interface InterfaceService {
String mockInterface();
}
3. 接口实现如下:
mock的接口: