我在基于弹簧配置的示例之后,根据参数的值,调用不同的函数。
我一直在谷歌搜索“弹簧功能解析器”或类似的东西,但可惜我似乎在网上找不到任何东西。
所以基本上,所有函数都会以某种方式存储在某个地方,并根据这个参数的值调用不同的函数。
例如“PameterISA”-> 调用 A()
“ParameterISB”-> 调用 B()
ETC....
这很容易用 Spring 完成吗?
谢谢
面向对象的处理方式如果PameterISA
并且PameterISB
可以是实现公共接口的不同类的实例,那么您可以使用策略模式:
interface Strategy {
void doIt();
}
class ClassA implements Strategy {
@Override
public void doIt() {
// execute the code that corresponds to A()
}
}
class ClassB implements Strategy {
@Override
public void doIt() {
// execute the code that corresponds to B()
}
}
现在,你所要做的就是
Strategy PameterISA = new ClassA();
Strategy PameterISB = new ClassB();
// ...
Strategy strategy = // an instance of either ClassA or ClassB
strategy.doIt(); // will call the correct method.
或者,如果参数是 a byte
, short
, char
int
(或它们的盒装对应物)enum
或(从 Java 7 开始)String
,您可以使用普通的旧switch语句:
switch (parameter) {
case "PameterISA":
A();
break;
case "PameterISB":
B();
break;
default:
throw new IllegalArgumentException(parameter);
}
最后,您可以使用程序if
- else if
-else
模式。