1. 程式人生 > >【Spring】SpringMVC配置文件

【Spring】SpringMVC配置文件

3.0 @service version control 視圖解析 註解 cat sch gmv

SpringMVC中一般會引入三個配置文件applicationContext.xml、dispatcher-servlet.xml(SpringMVC-servlet.xml)、web.xml

1.dispatcher-servlet.xml(SpringMVC-servlet.xml)

DispatcherServlet是前端控制器設計模式的實現,提供Spring Web MVC的集中訪問點,默認使用servlet context。加載包含Web組件的bean,如控制器、視圖解析器以及處理器映射。

mvc:annotation-driven
當配置了mvc:annotation-driven/後,Spring就知道了我們啟用註解驅動。然後Spring通過context:component-scan/標簽的配置,會自動為我們將掃描到的@Component,@Controller,@Service,@Repository等註解標記的組件註冊到工廠中,來處理我們的請求。配置如果沒有

context:component-scan

    <!-- 掃描controller -->
    <context:component-scan base-package="**.*controller"/>
2.applicationContext.xml

使用application context,使用SpringMVC可以不配置applicationContext.xml,若使用需要在web.xml中添加Listener。加載應用中的其他bean,通常是驅動應用後端的中間層和數據層組件。

    <!-- 默認的spring配置文件是在WEB-INF下的applicationContext.xml -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:applicationContext*.xml
        </param-value>
    </context-param>
3.web.xml
    <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

    <!-- 默認的spring配置文件是在WEB-INF下的applicationContext.xml -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath*:applicationContext*.xml
        </param-value>
    </context-param>

    <!-- springMVC的核心控制器 -->
    <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:springMVC-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <async-supported>true</async-supported>
    </servlet>
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

【Spring】SpringMVC配置文件