【发布时间】:2017-04-04 16:26:22
【问题描述】:
wicket-spring-boot wicket 集成有问题。使用 @Service 注释的 Bean 未正确注入到使用 @SpringBean 注释注入到无状态 Page 的支持 bean 中。
一般:
@StatelessComponent
@MountPath("home-page")
public class HomePage extends WebPage {
@SpringBean
private HomePageHandler handler;
}
和
@Service
public class HomePageHandler {
private final CommandPublisher commandPublisher;
@Autowired
public HomePageHandler(CommandPublisher commandPublisher) {
this.commandPublisher = commandPublisher;
}
public void executeAction(String name) {
commandPublisher.publish(name); /// <----------- NPE (commandPublisher is null)
}
}
和:
@Service
public class CommandPublisher {
public void publish(String text) {
eventPublisher.publishEvent(text);
}
}
检票口 7.6.0,检票口弹簧靴 1.0.6。
我创建了一个简单的启动器 (https://github.com/tdziurko/wicket-spring-bean-issue) 来重现该问题。当页面不是无状态时,问题就会消失(更多信息在启动器的自述文件中)。
【问题讨论】:
标签: java spring spring-boot wicket