文章预览
来源:blog.csdn.net/zhangzhiqiang_0912/article/details/106980080 近期开发系统过程中遇到的一个需求,系统给定一个接口,用户可以自定义开发该接口的实现,并将实现打成jar包,上传到系统中。系统完成热部署,并切换该接口的实现。 1 定义简单的接口 这里以一个简单的计算器功能为例,接口定义比较简单,直接上代码。 public interface Calculator { int calculate ( int a, int b ) ; int add ( int a, int b ) ; } 2 该接口的一个简单的实现 考虑到用户实现接口的两种方式,使用spring上下文管理的方式,或者不依赖spring管理的方式,这里称它们为注解方式和反射方式。calculate方法对应注解方式,add方法对应反射方式。计算器接口实现类的代码如下: @Service public class CalculatorImpl implements Calculator { @Autowired CalculatorCore calculatorCore
………………………………