spring整合配置记录。

时间:2021-08-13 13:16:42
  1. web.xml文件中引入 spring环境和 springmvc的配置文件
     1 <!-- 使用 context-param 引入spring的配置文件 -->
     2     <context-param>
     3         <param-name>contextConfigLocation</param-name>
     4         <param-value>classpath:spring/applicationContext.xml</param-value>
     5     </context-param>
     6 
     7  <!--  启动Spring监听器 -->
     8     <listener>
     9         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    10     </listener>
     1 <!-- 设置前端控制器 设置load-on-startup在web容器启动的时候加载 -->
     2 <servlet>
     3         <servlet-name>SpringMVC</servlet-name>
     4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     5         <init-param>
     6             <param-name>contextConfigLocation</param-name>
     7             <param-value>classpath:spring/spring-mvc.xml</param-value>
     8         </init-param>
     9         <load-on-startup>1</load-on-startup>
    10         <async-supported>true</async-supported>
    11     </servlet>
    12     <!-- 设置前端控制器的映射url 为 / 需要在springmvc中放行静态资源 后面会设置 -->
    13     <servlet-mapping>
    14         <servlet-name>SpringMVC</servlet-name>
    15         <!-- 此处可以可以配置成 *.do ,对应struts的后缀习惯 -->
    16         <url-pattern>/</url-pattern>
    17     </servlet-mapping>
    18 
    19     <!-- 设置默认登录页 -->
    20     <welcome-file-list>
    21         <welcome-file>/index.jsp</welcome-file>
    22     </welcome-file-list>

     

  2. 在 spring 的配置文件中引入 properties文件,开启注解扫描,import 其他配置文件。  
<!-- 引入属性文件 放在最开头,在使用spring之前就引入,里面的变量才能被引用-->
    <context:property-placeholder location="classpath:config.properties"/>

<!-- 开启spring直接扫描 将@Component等注释的组件 加入到IOC容器中 -->
<context:component-scan base-package="com.test.service,com.test.mapper"/>

<!-- 使用import 可以直接将其他的配置文件引入 分开便于管理 -->
<import resource="applicationContext-dataSource.xml" />

 

  3.  springmvc 中扫描 controller 的注解,放行静态资源,配置注解驱动(处理器映射器和处理器适配器),配置视图解析器,配置文件上传

 1 <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
 2     <context:component-scan base-package="com.test.controller"/>
 3 
 4 <!-- 配置注解驱动 自动配置了处理器映射器和处理器适配器-->
 5     <mvc:annotation-driven/>
 6 
 7 <!-- 使用mvc:resources 标签放行静态资源 location 是文件实际存放路径 mapping 是 url中的路径,符合mapping的url 不会被前端控制器处理 -->
 8 <mvc:resources mapping="/css/**" location="/WEB-INF/statics/css/"/>
 9     <mvc:resources mapping="/js/**" location="/WEB-INF/statics/js/"/>
10     <mvc:resources mapping="/images/**" location="/WEB-INF/statics/images/"/>
11 
12 
13 <!-- 配置视图解析器 -->
14 <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
15         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
16         <property name="prefix" value="/WEB-INF/view/"/>
17         <property name="suffix" value=".jsp"/>
18     </bean>
19 
20 <!-- 配置springmvc提供的文件上传功能 -->
21 <!-- 文件上传 start 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
22     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
23         <!-- 默认编码 -->
24         <property name="defaultEncoding" value="UTF-8"/>
25         <!-- 文件大小最大值 上传文件大小限制为10M,10*1024*1024 -->
26         <property name="maxUploadSize" value="10485760"/>
27         <!-- 内存中的最大值 -->
28         <property name="maxInMemorySize" value="4096"/>
29     </bean>
30     <!--文件上传 end-->

 

  4. 配置事务管理的话使用到的是spring提供的aop功能 

    将配置好的连接池交给 transactionManager ,在配置相应的  transactionAdvice ;advice + pointcut 实现事务管理。

  5. 记录web.xml 中关于 <context-param> 配置的作用

    启动一个web项目的时候,servlet容器在web.xml中获取<listener>和<cpontext-param>,然后创建一个ServletContext(上下文),这个web项目将共享这个上下文。 容器会将context-param 转化为键值对,然后交给ServletContext,然后创建listener中的类的实例。 这一系列的动作都是在web项目完全启动完成以前执行的。