gpt4 book ai didi

spring - 如何在 Spring 的运行时或启动时禁用服务?

转载 作者:行者123 更新时间:2023-12-05 01:48:26 27 4
gpt4 key购买 nike

<分区>

在我们独立的 Spring 3.1 应用程序中,我们严格地将业务逻辑与监控 Swing View 分开。 View 通过实现 EventListener 接口(interface)获取信息。

要禁用 UI,“删除”UI Bean 上的所有 @Services 就足够了,这样实现此 EventListner 的 UI 类就不会被业务逻辑注入(inject)。

但是如何做到这一点呢?

这个例子给出了我们类的一个小概览:

@Service
public class UI extends JFrame implements EventListener {
@PostConstruct
public void setup() {
// Do all the Swing stuff
setVisible(true);
}

@Override
public void onBusinessLogicUpdate(final State state) {
// Show the state on the ui
}
}

@Service
public class Businesslogic {
@Autowired
public List<EventListener> eventListeners;

public void startCalculation() {

do {
// calculate ...
for (final EventListener listener : this.eventListeners) {
eventlistener.onBusinessLogicUpdate(currentState);
}
}
while(/* do some times */);
}
}

public class Starter {
public static void main(final String[] args) {
final ApplicationContext context = // ...;

if(uiShouldBedisabled(args)) {
// remove the UI Service Bean
}

context.getBean(Businesslogic.class).startCalculation();
}
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com