Client MVC configuration

Client MVC configuration represented at this file.

When invoking ModelAndView method setViewName next configuration concatenates it with viewPrefix and viewSuffix:

@Value("${spring.mvc.view.prefix}")
private String viewPrefix;

@Value("${spring.mvc.view.suffix}")
private String viewSuffix;

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix(viewPrefix);
    resolver.setSuffix(viewSuffix);
    return resolver;
}

Methods for creating beans through ivisAuthorizedFilter() and ivisAuthorizedFilterRegistration() described here.

Initialize service class in handler methods:

@Bean
public HandlerMethodArgumentResolver ivisServiceArgumentResolver() {
    return new IvisServiceArgumentResolver();
}

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
    argumentResolvers.add(ivisServiceArgumentResolver());
}

Converter that used for init Ivis entity object instead id property:

@Override
public void addFormatters(FormatterRegistry registry) {
    registry.addConverter(ivisIdToDomainClassConverter());
}

@Bean
public IvisIdToDomainClassConverter ivisIdToDomainClassConverter() {
    return new IvisIdToDomainClassConverter(conversionServiceFactoryBean().getObject());
}

@Bean
public ConversionServiceFactoryBean conversionServiceFactoryBean() {
    return new ConversionServiceFactoryBean();
}

Custom error views:

@Bean
public ServerProperties errorHandling() {
    return new ClientCustomization();
}

Enable default configuration:

@Override
public void configureDefaultServletHandling(
        DefaultServletHandlerConfigurer configurer) {
    configurer.enable();
}

Static content management:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**")
            .addResourceLocations("/WEB-INF/web-resources/");
}