这被认为是不好的做法吗?本质上,基于枚举我想在接口中调用特定方法.每个枚举都有自己的接口实现(WalkImpl,RunImpl,JogIMpl等),所有这些都基于ActivityService接口.我只是想知道这是将服务"注入"Enum的正确方法.我这样做是因为我无法自动提供服务.谢谢
@Component
public class HelloWorldImpl implements HelloWorld {
private enum MyEnum{
WALK {
@Override
public void execute() {
System.out.println("I am walking");
activityService.doSomethingWithMe(this.name());
}
},
RUN{
@Override
public void execute() {
System.out.println("I am running");
}
},JOG{
@Override
public void execute() {
System.out.println("I am jogging!");
}
}, SKIP{
@Override
public void execute() {
System.out.println("I am skipping!");
}
};
public abstract void execute();
private static ActivityService activityService;
public void setActivityService(ActivityService activityService) {
this.activityService = activityService;
}
}
@Autowired
ActivityService activityService;
@Override
public void …Run Code Online (Sandbox Code Playgroud)