gpt4 book ai didi

java - UI 中的 Spring + Vaadin 注解 @Autowired

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:48 25 4
gpt4 key购买 nike

我现在正在使用 Spring + Vaadin JSP 集成。我正在网上商店的管理面板工作。我已经完成了 Spring 服务器并成功将 Vaadin UI 添加到其中,但是 vaadin UI 中的注释(@Autowired 等)不起作用,因为服务器分为两个 servlet(dispacherServlet 和 vaadinServlet)。大多数服务器页面都与调度程序 servlet 一起使用,只有管理面板与 Vaadin 一起使用。我需要将 JPA 存储库和服务连接到 vaadin UI。您能帮我修复它并将服务连接到 UI 吗?用户界面类:

@Theme("valo")
@Title("Administration panel")
@SpringUI
public class Administration extends UI {

@Autowired
LoginService service; //null

@Override
protected void init(VaadinRequest request) {
AbsoluteLayout layout = new AbsoluteLayout();
setContent(layout);
TabSheet tabs = new TabSheet();
tabs.setSizeFull();
UsersTab usersTab= new UsersTab();
CategoriesTab categoriesTab = new CategoriesTab();
tabs.addComponent(usersTab.getLayout());
tabs.addComponent(categoriesTab.getLayout());
layout.addComponent(tabs);
}
@WebServlet(urlPatterns = {"/administration","/administration/*","/VAADIN/*"},asyncSupported = true)
@VaadinServletConfiguration(ui = Administration.class, productionMode = false)
public static class AdministrationVaadinServlet extends VaadinServlet
{
}
}

最佳答案

要使 Vaadin UI 类成为 Spring 托管 bean,您不能使用在代码片段中扩展的默认 VaadinServlet。

在大多数情况下,您实际上根本不需要呈现 servlet,但 Vaadin Spring 中的上下文监听器会自动为您创建它。如果您出于某种原因需要对 servlet 进行一些自定义,请扩展 SpringVaadinServlet 类而不是普通的 VaadinServlet。

如果您使用 Spring Boot,只需删除 servlet 声明即可。与非 Boot 配置相同,但是您需要在配置类中使用 @EnableVaadin。请参阅Vaadin Spring tutorial如果您不使用 Spring Boot,请获取更多设置说明。

关于java - UI 中的 Spring + Vaadin 注解 @Autowired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38791257/

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