Как преобразовать applicationContext.xml в весенний класс @Configuration? - PullRequest
0 голосов
/ 28 октября 2019

У меня есть этот applicationContext.xml файл, который я хочу выразить как пружинный @Configuration компонент. Как я могу это сделать? Есть ли в официальных весенних документах раздел о том, как преобразовать конфигурации XML в конфигурацию на основе Java?

Следующий фрагмент XML из этого проекта, который реализует пользовательский ViewScope для Spring. Чтобы использовать его реализацию ViewScope, я должен добавить эту конфигурацию в мой applicationContext.xml, но я хочу выразить эту конфигурацию в Java.

<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
    <property name="scopes">
        <map>
            <entry key="view">
                <bean class="com.github.jneat.jsf.ViewScope"/>
            </entry>
        </map>
    </property>
</bean>

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Попробуйте это:

@Bean
public CustomScopeConfigurer customScope(WorkflowScope viewScope) {
    CustomScopeConfigurer configurer = new CustomScopeConfigurer();
    Map<String, Object> viewScope = new HashMap<>();

    viewScopeSet.put("view", viewScope);
    configurer.setScopes(viewScopeSet);

    return configurer;
}
0 голосов
/ 28 октября 2019

Вы можете попробовать это (было в файле readme проекта, на который вы указали ):

import java.util.HashMap;
import java.util.Map;

import com.github.jneat.jsf.ViewScope;
import org.springframework.beans.factory.config.CustomScopeConfigurer;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyViewScope {

    @Bean
    public CustomScopeConfigurer customScopeConfigurer() {
        CustomScopeConfigurer configurer = new CustomScopeConfigurer();

        Map<String,Object> scopes = new HashMap<String,Object>();
        scope.put("view", new ViewScope());

        configurer.setScopes(scopes);
        return configurer;
    }
}

Вы также можете увидеть этот вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...