Vaadin如何将SpringJava对象实例作为单例行为获取

Vaadin如何将SpringJava对象实例作为单例行为获取,java,spring,vaadin7,Java,Spring,Vaadin7,在我们的项目中,我们使用的是Vaadin和Spring代码。请检查下面的Vaadin类 1) 在我们的项目中,我们有3个菜单选项卡 a) TR页 b) 执行页面 c) 管理页面 这3个类扩展了BaseView类,如下所述 2) 但问题是在下面的类中,当我们单击tr、执行和管理菜单选项卡时,搜索面板对象正在创建次数 需要: 我需要的是,在下面的代码中,搜索面板对象应该只创建一次,当我们单击不同的菜单页面时,所有菜单选项卡都应该使用相同的实例 注: 在我们的项目中,我们使用AppConfig.jav

在我们的项目中,我们使用的是Vaadin和Spring代码。请检查下面的Vaadin类

1) 在我们的项目中,我们有3个菜单选项卡 a) TR页 b) 执行页面 c) 管理页面 这3个类扩展了BaseView类,如下所述

2) 但问题是在下面的类中,当我们单击tr、执行和管理菜单选项卡时,搜索面板对象正在创建次数

需要: 我需要的是,在下面的代码中,搜索面板对象应该只创建一次,当我们单击不同的菜单页面时,所有菜单选项卡都应该使用相同的实例

注: 在我们的项目中,我们使用AppConfig.java类来配置bean

BaseView类: ExecutionPlan扩展了基本视图类: }

TR扩展了基本视图类: }

管理扩展了基本视图类: }

public abstract class BaseView extends VerticalLayout implements View {

private SearchPanel searchPanel;


//private SearchVO searchVO ;
private SearchVO searchVO = new SearchVO();

public void enter(ViewChangeListener.ViewChangeEvent event) {
    removeAllComponents();
    setSizeFull();
    this.setHeight("100%");
    if (UI.getCurrent().getNavigator().getState().equals("tr") || UI.getCurrent().getNavigator().getState().equals("ep") ||
            UI.getCurrent().getNavigator().getState().equals("db")) {
        searchPanel = new SearchPanel(this);
    }
    }
public class ExecutionPlanListView extends BaseView {

@Autowired
ExecutionPlanDelegate executionPlanDelegate;

@Override
public Component getMainContent(ViewChangeListener.ViewChangeEvent event) {
    //Some Code

}
public class TR extends BaseView {

@Autowired
ExecutionPlanDelegate executionPlanDelegate;

@Override
public Component getMainContent(ViewChangeListener.ViewChangeEvent event) {
    //Some Code

}
public class Administration extends BaseView {

@Autowired
ExecutionPlanDelegate executionPlanDelegate;

@Override
public Component getMainContent(ViewChangeListener.ViewChangeEvent event) {
    //Some Code

}