项目场景:
对不同数据进行资源整合,规划同一接口返回相同数据结构,底层需要调用不同服务接口来获取数据,基本写法为不同调用服务写各自的方法,再用switch,case,将不同方法整合。

问题描述
- 实际开发多人处理不同数据的情况下,代码极容易冲突,解决冲突浪费时间
- 如果调取服务较多,switch,case代码没那么美观简洁
解决方案:
使用抽象类,规定同一方法,将不同数据调取服务做不同实现,由Spring统一管理,根据bean名称来获取不同数据的不同实例。



SpringContextUtil 工具类
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* @author: guochao.bj@fang.com
* @createDate: 2022/3/21 14:20
*/
@Component
public class SpringContextUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
public SpringContextUtil() {
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContextUtil.applicationContext = applicationContext;
}
public static Object getBean(String beanName) {
return applicationContext.getBean(beanName);
}
public static Object getBean(Class c) {
return applicationContext.getBean(c);
}
}
本文探讨了在多人协作开发中,如何通过Spring框架的抽象类和ApplicationContextAware接口,避免服务接口冲突,提高代码整洁度。SpringContextUtil简化了根据不同数据获取服务实例的过程,降低冲突并提升开发效率。
667

被折叠的 条评论
为什么被折叠?



