Как использовать View Scope в Spring

Дорогие,

Я пытаюсь использовать View Scope в Spring, и я получаю следующие шаги:

1- создайте область просмотра следующим образом:

    package scope;

    import java.util.Map;
    import javax.faces.context.FacesContext;
    import org.springframework.beans.factory.ObjectFactory;
    import org.springframework.beans.factory.config.Scope;

    public class ViewScope implements Scope {

       @Override
        public Object get(String name, ObjectFactory<?> objectFactory) {
            Map<String,Object> viewMap = FacesContext.getCurrentInstance().getViewRoot().getViewMap();

            if(viewMap.containsKey(name)) {
                return viewMap.get(name);
            } else {
                Object object = objectFactory.getObject();
                viewMap.put(name, object);

                return object;
            }
        }

       @Override
        public Object remove(String name) {
            return FacesContext.getCurrentInstance().getViewRoot().getViewMap().remove(name);
        }

       @Override
        public String getConversationId() {
            return null;
        }

       @Override
        public void registerDestructionCallback(String name, Runnable callback) {
            //Not supported
        }

       @Override
        public Object resolveContextualObject(String key) {
            return null;
        }
    }

2- в классе конфигурации зарегистрируйте компонент как следующий код:

   @Configuration
    ..............
  public class Application implements Serializable{
    ...............
    ...............

     @Bean
     public CustomScopeConfigurer viewScope () {
         CustomScopeConfigurer configurer = new CustomScopeConfigurer ();
         configurer.addScope("view", new ViewScope());
         return configurer;
     }

3- В классе компонентов Spring используйте область аннотации с именем «представление»:

    @scope(“view”)

С уважением


person Hazim    schedule 06.12.2015    source источник
comment
после написания этого поста я нашел близкий ответ с этим постом: функция типа весной"> stackoverflow.com/questions/28174206/   -  person Hazim    schedule 06.12.2015