spring和springmvc配置分离

在配置springmvc的时候,可以把所有的配置配置到springmvc的xml文件中,也可以分成多个Spring的配置文件,然后使用import节点导入其他的配置文件。但是通常情况下,类似于数据源,事务,IOC容器中的Dao层,service层,整合其他框架都是放在Spring的配置文件中(而不是SpringMVC的配置文件中)。

1.单独配置spring配置文件的目的:
配置Spring配置文件的本质是单独加入Spring的IOC容器,来管理数据源,service,Dao这些属于“Spring自身”的bean,而让springmvc的IOC容器专门管理Controller,解析器等属于springmvc自己的内容。

2.怎样分离spring配置文件和springMVC配置文件
2.1 web.xml对spring配置文件的配置
只需要在web.xml文件中配置监听,启动SpringIOC容器的ContextLoaderListener,


    contextConfigLocation
    
    classpath:spring/applicationContext.xml


    org.springframework.web.context.ContextLoaderListener

其中classpath:spring/spring-context.xml是spring的配置文件,spring的IOC容器。主要扫描service,dao的包,数据源信息,事务等。(另一种写法是applicationContext.xml作为总的文件,导入spring-dao.xml,spring-service.xml,spring-mvc.xml)

2.2 web.xml对springmvc配置文件的配置


    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
        contextConfigLocation
        classpath:spring/springmvc.xml
    
    
    1


    dispatcherServlet
    /

其中springmvc.xml就是springmvc的配置文件,只在该文件中扫描Controller的包,视图解析器等。

3.一般web.xml中还会配置字节编码CharacterEncodingFilter和支持Rest风格HiddenHttpMethodFilter等的两个过滤器


    characterEncodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
        encoding
        utf-8
    
    
        forceEncoding
        true
    


    characterEncodingFilter
    /*




    hiddenHttpMethodFilter
    org.springframework.web.filter.HiddenHttpMethodFilter


    hiddenHttpMethodFilter
    /*

你可能感兴趣的:(spring,mvc,java)