Search code examples
javaxmlspringspring-mvcspring-tool-suite

When I created the spring MVC project with STS, how can modify the default XML content


I use the STS to creat Spring MVC project, STS version is 3.7.3.RELEASE. the default spring xml configuration file is :

    <?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->

    <!-- Enables the Spring MVC @Controller programming model -->
    <annotation-driven />

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
    <resources mapping="/resources/**" location="/resources/" />

    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/views/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

    <context:component-scan base-package="test.dmh.hw" />

</beans:beans>

but when I configure my own HandlerInterceptorAdapter, I found the config file is not meeting my requirement. because the head is : beans:beans xmlns="http://www.springframework.org/schema/mvc" So I have to edit the file like this:

    <?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">


    <context:component-scan base-package="com.shanshan.bo" />

    <!-- 配置拦截器 -->
    <mvc:interceptors>
        <!-- 多个拦截器,按顺序执行 -->
        <mvc:interceptor>
            <mvc:mapping path="/**"/> <!-- 表示拦截所有的url包括子url路径 -->
            <bean class="com.shanshan.bo.interceptor.LoginHandlerInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

    <!-- Enables the Spring MVC @Controller programming model -->
    <mvc:annotation-driven />

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
    <mvc:resources mapping="/resources/**" location="/resources/" />

    <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

change the head : beans xmlns="http://www.springframework.org/schema/beans"

Now I want the file format is this when I creat the project, so I don't have to change it anymore. How can I edit the springmvc.xml file content ?


Solution

  • Spring Tool Suite has Spring Config Editor, which you can use to edit namespaces.

    To open file with Spring Config Editor, right click on the file and select Open With>Spring Config Editor. Check image below

    enter image description here

    Now you can edit the namespaces using the Namespaces tab at the bottom of this editor. enter image description here

    Following is a sample Namespaces tab

    enter image description here