Spring注释的配置类在运行时没有被处理

时间:2016-05-17 15:55:52

标签: eclipse spring maven spring-mvc

我使用Spring和Maven在Eclipse中启动了一个新项目。尽管另一个具有相同特性的项目运行良好,但我无法在启动期间使用注释自动读取配置类。

我查看了项目Facets,它被配置为动态Web模块,Java和JavaScript。 POM似乎也包括所需的一切。我认为这只是一些我失踪的配置问题。

package com.company.application.conf;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.core.Ordered;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
@EnableWebMvc
@ComponentScan({"com.company.application.*"})
public class WebMvcConfiguration extends WebMvcConfigurerAdapter {


    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/login").setViewName("login");
        registry.addViewController("**/user/error").setViewName("/user/erro");
        registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
    }

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


    @Bean
    public ReloadableResourceBundleMessageSource messageSource() {
        ReloadableResourceBundleMessageSource source = new ReloadableResourceBundleMessageSource();
        source.setBasename("/WEB-INF/messages/messages");
        return source;
    }

    @Bean(name="multipartResolver")
    public StandardServletMultipartResolver resolver(){
        return new StandardServletMultipartResolver();
    }
}
package com.company.application.conf;

import javax.servlet.Filter;
import javax.servlet.MultipartConfigElement;
import javax.servlet.ServletRegistration;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

/**
 * http://javahash.com/spring-security-hello-world-example/
 */

public class MVCInitializer extends
        AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[] { ViewConfig.class };
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return null;
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }

    @Override
      protected Filter[] getServletFilters() {
        return new Filter[] {
        };
      }

    /**
     * Multipart Spring
     */
    @Override
    protected void customizeRegistration(
            ServletRegistration.Dynamic registration) {
        registration.setMultipartConfig(getMultipartConfigElement());
    }

    private MultipartConfigElement getMultipartConfigElement() {
        MultipartConfigElement multipartConfigElement = new MultipartConfigElement(
                LOCATION,MAX_FILE_SIZE, MAX_REQUEST_SIZE, FILE_SIZE_THRESHOLD);
        return multipartConfigElement;
    }

    private static final String LOCATION = "/tmp" ;

    private static final long MAX_FILE_SIZE = 1024 * 1024 * 5;// 5MB

    private static final long MAX_REQUEST_SIZE = 1024 * 1024 * 30;// 30MB

    private static final int FILE_SIZE_THRESHOLD = 0;

}

你有任何建议我吗?感谢。

0 个答案:

没有答案