ssm配置文件的详解 —— 自己写的

针对好多同学对ssm框架的整体理解不是特别的透彻,今天我就利用点时间给大家进行详细的讲解,如果有不妥之处请大家指出来,以便今后更好的学习。

我们所说的ssm框架指的是spring ,springmvc以及mybatis的统称。 简称就是ssm。

spring+springmvc+mybatis框架中用到了三个XML配置文件,下面我就大家进行详细的讲解。

用到的三个配置文件分别是web.xml ,spring-mvc.xml ,以及spring-mybatis.xml。

web.xml是关联整个项目的配置文件,是每个web项目都会有的。。

spring-mvc.xml是springmvc的一些相关的配置。

spring-mybatis是spring-mybaits的相关配置。

但是我们在项目中还会用到两个资源属性文件

jdbc.properties以及log4j.properties.

jdbc.properties是关于jdbc的配置

log4j.properties是日志文件的配置

下面我就针对以上的内容进行详细的分析。

一:web.xml

为了方便大家的理解,我进行了中文的注释,以便大家更好的明白。

这个得重点涉及的是<servlet>中的配置。

这里面配置了前段控制器。也就是说在ssm框架中,前段控制器起着最重要的作用。

过滤器——编码过滤器

监听器——spring监听器

servlet——前段控制器

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"></web-app>

1.配置spring容器相关的资源文件和创建容器的监听类

<!--加载spring配置文件-->

配置spring容器<!-- Spring和mybatis的配置文件 -->

        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath: spring-mybatis.xml</param-value>

        </context-param>

配置一个监听器:

<listener>

            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

        < listener>

注意有的配置文件是spring-mybatis.xml  以及applicationContext.xml (里面整合了spring-mvc以及spring-mybaits的配置文件)


  2.配置springmvc的核心servlet接管请求

<!-- SpringMVC的前端控制器 -->

<servlet>
                <servlet-name>springmvc</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<!-- 加载springmvc配置文件的路径及名称 -->
                <init-param>
                    <param-name>contextConfigLocation</param-name>
                    <param-value>classpath:spring-mybatis.xml</param-value>

注意有的配置文件是spring-mybatis.xml  以及applicationContext.xml (里面整合了spring-mvc以及spring-mybaits的配置文件)                 </init-param>

</servlet>

          <servlet-mapping>
                <servlet-name>springmvc</servlet-name>

 <!-- 由SpringMVC拦截所有请求 -->

<url-pattern>/</url-pattern>
          </servlet-mapping>

1.<!--解决中文乱码问题 -->

<filter>

<filter-name>CharacterEncodingFilter</filter-name>

<filter-class> org.springframework.web.filter.CharacterEncodingFilter

</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CharacterEncodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

二:spring-mvc.xml

实现基本功能的配置

1、配置映射器与适配器

 <!-- 开启SpringMVC注解模式 -->

配置 <mvc:annotation-driven/>

2.自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器

配置 <context:component-scan base-package="com.springmvc.controller"/><!--修改成controller文件存放位置--> 

特别注意的是这个地方是包名,具体的根据自己建立的包名进行修改。

<context:component-scan base-package="com.bjhst.controller"/>

3.配置视图解析器

<mvc:annotation-driven/>  

相当于注册了DefaultAnnotationHandlerMapping(映射器)和AnnotationMethodHandlerAdapter(适配器)两个bean.即解决了@Controller注解的使用前提配置。

context:component-scan  对指定的包进行扫描,实现注释驱动Bean定义,同时将bean自动注入容器中使用。即解决了@Controller标识的类的bean的注入和使用。

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

  <!-- 前缀和后缀 --> 

<property name="prefix" value="/"/>   

<property name="suffix" value=".jsp"/> 

 </bean> 

三:spring-mybatis.xml

实现基本功能的配置

1.自动扫描,将标注Spring注解的类自动转化Bean,同时完成Bean的注入

配置 <context:component-scan base-package="com.bjhst"/>

2. 加载数据资源属性文件

  •  <bean id="propertyConfigurer"  
  •     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  •     <property name="location" value="classpath:jdbc.properties" />  
  •   </bean>

    3 .配置数据源

    三种数据源的配置方式 http://blog.csdn.net/yangyz_love/article/details/8199207

    说明:这是一种推荐说明的数据源配置方式,它真正使用了连接池技术
    <!-- 配置数据源 dbcp数据库连接池 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"   

      destroy-method="close">    

    <property name="driverClassName" value="${driver}" /> 

        <property name="url" value="${url}" />

         <property name="username" value="${username}" />  

       <property name="password" value="${password}" />  

       <!-- 初始化连接大小 -->      <property name="initialSize" value="${initialSize}"></property>

         <!-- 连接池最大数量 -->      <property name="maxActive" value="${maxActive}"></property>    

    <!-- 连接池最大空闲 -->      <property name="maxIdle" value="${maxIdle}"></property>    

    <!-- 连接池最小空闲 -->      <property name="minIdle" value="${minIdle}"></property>  

       <!-- 获取连接最大等待时间 -->      <property name="maxWait" value="${maxWait}"></property>   

    </bean>

    4. 配置sessionfactory

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 

  • <!-- 数据库连接池 -->

  • <property name="dataSource" ref="dataSource" />


  • 5.装配Dao接口

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 
    <property name="basePackage" value="com.bjhst.dao" />

    <!-- DAO接口所在包名,Spring会自动查找其下的类 --> 
    6. 声明式事务管理
    <bean id="transactionManager"

    class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
    <property name="dataSource" ref="dataSource" />
    7. 注解事务切面

    <span style="font-family: Arial, Helvetica, sans-serif;"> 这个没有用

    <pre name="code" class="html">   <tx:annotation-driven transaction-manager="transactionManager"/> 


    四:jdbc.properties

  • driver=com.mysql.jdbc.Driver   //连接的是mysql数据库
  • url=jdbc:mysql://127.0.0.1:3306/gao?characterEncoding=utf-8  //这个是iwo的数据库名称
  • username=root               //数据库的用户名
  • password=123456         //数据库的连接密码
  • #定义初始连接数  
  • initialSize=0  
  • #定义最大连接数  
  • maxActive=20  
  • #定义最大空闲  
  • maxIdle=20  
  • #定义最小空闲  
  • minIdle=1  
  • #定义最长等待时间  
  • maxWait=60000

    五:log4j.properties

    1. #定义LOG输出级别  
    2. log4j.rootLogger=INFO,Console,File  
    3. #定义日志输出目的地为控制台  
    4. log4j.appender.Console=org.apache.log4j.ConsoleAppender  
    5. log4j.appender.Console.Target=System.out  
    6. #可以灵活地指定日志输出格式,下面一行是指定具体的格式  
    7. log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
    8. log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  
    9.   
    10. #文件大小到达指定尺寸的时候产生一个新的文件  
    11. log4j.appender.File = org.apache.log4j.RollingFileAppender  
    12. #指定输出目录  
    13. log4j.appender.File.File = logs/ssm.log  
    14. #定义文件最大大小  
    15. log4j.appender.File.MaxFileSize = 10MB  
    16. # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  
    17. log4j.appender.File.Threshold = ALL  
    18. log4j.appender.File.layout = org.apache.log4j.PatternLayout  
    19. log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n












  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值