`

spring 配置文件解析

阅读更多
web.xml中spring烂机器的配置
<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.xml</param-value>
</init-param>
<!-- 启动顺序,让这个Servlet随Servletp容器一起启动。 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!-- 会拦截*.go结尾的请求 -->
<url-pattern>.go</url-pattern>
</servlet-mapping>

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
org.springframework.web.servlet.DispatcherServlet:拦截所有的请求,然后到DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter中检索匹配并进行跳转到对应的Controller中

org.springframework.web.context.ContextLoaderListener:监听对应的操作




spring-MVC.xml中的配置,
1. <context:annotation-config/>隐式的向Spring 容器注册
AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor,
PersistenceAnnotationBeanPostProcessor以及RequiredAnnotationBeanPostProcessor这4 个BeanPostProcessor,解决了@Controller标识的类的bean的注入和使用。

2. <mvc:annotation-driven/>隐式注册了
DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter,解决了@Controller注解的使用前提配置。
第一条中的配置一般在配置包扫描路径扫描之后将其移除,为什么呢:
<context:component-scan base-package="***.***"/> 该配置项其实也包含了自动注入上述"1"中四个bean processor的功能,因此当使用 <context:component-scan/> 后,就可以将 <context:annotation-config/>移除了。

不配置<mvc:annotation-driven/>,基本的访问应该是没问题,比如servlet mapping的配置是"*.do", ".do"这种请求可以被正确捕捉和处理,但是如果添加静态资源访问,你可能要将拦截改为"/",此时你再次访问就会发现已经不能被正常拦截了,除非你加上<mvc:annotation-driven/>。

<mvc:annotation- driven/>在初始化的时候会自动创建两个对 象,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter 和 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter


<!-- 对静态资源文件的访问   公司的实现方式   方案一   --> 
    <mvc:resources location="/admin/" mapping="/ajax/js/**" />
    <mvc:resources location="/admin/" mapping="/images/**" />
    <mvc:resources location="/admin/cargo" mapping="/admin/cargo/*.htm" />

<!-- 视图解释类 --> 
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
      <property name="prefix" value="/"/> 
      <property name="suffix" value=".jsp"/><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑  -->
      <!--  使spring支持jstl标签  -->
      <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> 
</bean>


<!-- 对静态资源文件的访问   方案三 -->
<mvc:default-servlet-handler/>


上传文件的控制
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">           
   <property name="maxUploadSize" value="104857600"/>       
        <property name="maxInMemorySize" value="4096"/>
</bean>



<!--  请求拦截(自定义的spring的总拦截器)    -->
<mvc:interceptors>
        <!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 -->
<bean class="www.baidu.com.util.SpringMVCInterceptor"/>
<!-- 定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的
<mvc:interceptor>
<mvc:mapping path="/admin/editOutBoundUrl.mmx"/>
<bean class="www.baidu.com.interceptor.OutBoundUrlInterceptor"/>
</mvc:interceptor>
-->
</mvc:interceptors>



<!-- 总错误处理-->
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView"> 
<value>/error/error</value>
</property>
<property name="defaultStatusCode"> 
<value>500</value>
</property>
<property name="warnLogCategory">        <value>org.springframework.web.servlet.handler.SimpleMappingExceptionResolver</value>
</property>
</bean>
分享到:
评论

相关推荐

    spring配置文件解析失败报”cvc-elt.1: 找不到元素 &#39;&#39;beans&#39;&#39; 的声明”异常解决

    这个错误提示表明XML解析器无法找到`&lt;beans&gt;`元素的定义,这是一个基本的Spring配置文件结构元素,用于包裹所有的bean定义。 Spring的配置文件遵循特定的命名空间和Schema定义,这些定义在`spring-beans.xsd`文件中...

    使用Spring配置文件实现AOP

    这篇教程将详细讲解如何通过Spring的配置文件来实现AOP。 一、理解AOP概念 AOP的核心思想是将分散在各个模块中的交叉性代码(如日志、事务处理)抽取出来,形成独立的切面,以便于复用和维护。它提供了一种模块化的...

    spring配置文件模板

    《Spring配置文件模板详解》 在Java开发领域,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)能力,成为了企业级应用开发的重要选择。而...

    Spring配置文件集合

    5. `spring-servlet.xml`: 这是Spring MVC的核心配置文件,配置了DispatcherServlet的处理器映射器、视图解析器、拦截器等,定义了Spring MVC的运行环境。 6. `web.xml`: 这是JavaWeb应用的部署描述符,定义了...

    Spring动态加载配置文件

    总的来说,Spring动态加载配置文件的实现涉及到文件监听、配置文件解析、应用上下文刷新以及Web容器的协同。通过这样的机制,开发者可以在开发阶段快速响应配置的更改,提高开发效率,同时降低生产环境因重启服务...

    spring配置文件详细介绍

    下面是对Spring配置文件的详细介绍。 首先,Spring配置文件通常是以`.xml`为扩展名的文件,例如`beans.xml`。这些文件存储在项目的`src/main/resources`目录下,以便在运行时被自动加载。Spring容器...

    Spring依赖包和配置文件

    二、Spring配置文件 1. **beans.xml**:这是Spring应用中最常见的配置文件,用于定义bean及其依赖关系。在这里,我们可以声明bean的类、属性、初始化方法、依赖注入等。 2. **applicationContext.xml**:此文件通常...

    myeclipse中spring配置文件输入提示配置.docx

    ### MyEclipse中Spring配置文件输入提示配置详解 #### 一、问题背景及解决思路概述 在使用MyEclipse进行Java开发时,特别是在涉及到Spring框架的应用中,经常会遇到配置文件编辑过程中缺乏智能提示的问题。这对于...

    Spring4 jar包和Spring配置文件

    Spring框架是Java开发中最常用的轻量级框架之一,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...深入学习Spring4的jar包和配置文件,将使你更好地驾驭Java开发环境,提高软件工程能力。

    spring读取jar中的配置文件

    在Java开发中,Spring框架是应用最广泛的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器。...在实际开发中,应根据项目需求选择合适的方式,确保配置文件能被正确地加载和解析。

    spring 配置文件详解.txt

    #### 二、Spring XML配置文件解析 在给定的示例中,我们看到了一个典型的Spring XML配置文件的结构: ```xml xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    Spring之AOP配置文件详解

    #### 二、Spring AOP配置文件解析 在给定的配置文件中,我们看到了一个典型的Spring AOP配置实例。接下来我们将对这段配置进行详细的分析与解读。 ##### 2.1 配置文件头 ```xml ``` 这是XML文档的声明部分,...

    Spring核心源码解析.pdf

    以Properties配置文件为例,可以在配置文件中指定具体的类实现,然后通过Java程序读取这个配置文件,根据配置文件中的信息使用反射机制来创建对象实例。 总结来说,Spring框架通过IoC容器实现控制反转和依赖注入,...

    Spring源码解析.pdf

    - **定义**:`XmlBeanFactory`是基于XML配置文件的`BeanFactory`实现,它能够从XML文件中读取Bean的定义,并构建相应的Bean实例。 - **构造函数**:`XmlBeanFactory(Resource resource)`,其中`Resource`参数表示...

    Spring读取配置文件原理(Spring如何依赖注入的)

    首先,Spring解析XML配置文件的过程是由`BeanDefinitionReader`完成的,它负责读取并解析XML文件,生成BeanDefinition对象。Spring提供了多种类型的BeanDefinitionReader,例如`XmlBeanDefinitionReader`,用于处理...

    Spring 最全约束配置文件

    #### 二、Spring配置文件基础知识 在Spring框架中,配置文件是整个系统的核心组成部分之一。它定义了Spring容器中的各种Bean及其之间的关系。Spring支持多种类型的配置方式,其中XML配置文件是最常见的一种形式。...

    springmvc + spring + mybatis + maven整合配置文件

    1. **Mapper接口**:定义数据库操作的方法,与XML配置文件或注解对应。 2. **SQL映射文件**:编写具体的SQL语句,可以动态化处理,支持复杂的查询需求。 3. **MyBatis-Spring整合**:使MyBatis与Spring无缝集成,...

    Spring配置Freemarker视图解析器,配置多个视图解析器

    在Spring的配置文件(如`applicationContext.xml`或`dispatcher-servlet.xml`)中,我们需要添加以下XML配置: ```xml &lt;bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker....

Global site tag (gtag.js) - Google Analytics