ssm配置文件

单独使用时的配置

spring

配置文件名称:applicationContext.xml

<?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"
       xsi:schemaLocation="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">

<!--	注解扫描:base-package设置扫描的包	-->
    <context:component-scan base-package="com.zr"></context:component-scan>

<!--	配置数据源	-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/java?useSSL=true&amp;characterEncoding=utf-8"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>
    
<!--  创建JDBCTemplate对象注入dataSource  -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
</beans>
注意:文件名要一致不然会找不到配置文件,因为封装的spring的jar包中已经指定了
配置文件的名称,如果你一定想用别的名称,那就需要写一个xml文件进行设置。
mybatis与spring-mvc的配置文件也类似,总之就不要随便自己取一个名字。

mybatis

文件名:SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <!--   声明数据库连接配置   -->
    <environments default="development">

        <!--    一套开发者环境:     -->
        <environment id="development">
            <!--   默认JDBC事物管理取消了单条sql的自动提交          -->
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/java"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
<!--        <mapper resource="mapper/StudentMapper.xml"/>-->
        <!--  需要引入接口的方式进行调用      -->
        <mapper class="com.zrgj.dao.IStudentDao"/>
    </mappers>
</configuration>

springmvc

文件名:spring-mvc.xml

<?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:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
			http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
			http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--  注解扫描位置  -->			
    <context:component-scan base-package="web"></context:component-scan>
    
<!--  2.配置映射器和适配器  -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!--	用来帮助我们处理请求映射,决定是哪个controller的哪个方法来处理当前请求,异常处理。	-->
    
</beans>

SSM整合

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/java?serverTimezone=GMT
jdbc.username=root
jdbc.password=123456

applicationContext.xml

<?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:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-4.3.xsd
		http://www.springframework.org/schema/aop
		http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">

    <!--  spring+Mybatis的整合  -->

    <!--  1.获取存放数据库相关的参数的.properties文件  -->
    <context:property-placeholder location="classpath:db.properties"/>

    <!--  2.配置数据源  -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="2"/>
    </bean>

    <!--  2.配置SQLSessionFactory环境  -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!--  扫描bean,使用别名  -->
        <property name="typeAliasesPackage" value="com.zrgj.bean"/>
        <!--  配置加载映射文件  -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>

    <!-- 3.配置扫描dao接口包,动态实现dao接口 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--  给出需要扫描的dao的接口包  -->
        <property name="basePackage" value="com.zrgj.dao"/>
        <!--  注入sqlSessionFactory  -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>
    <!--  4.配置扫描:扫描整个包  -->
    <context:component-scan base-package="com.zrgj"/>

    <!--  5.配置事物管理器  -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!--  6.开启事物注解  -->
    <tx:annotation-driven></tx:annotation-driven>




</beans>

spring-mvc.xml

<?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:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
      http://www.springframework.org/schema/mvc
      http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-4.3.xsd
      http://www.springframework.org/schema/aop
      http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
      http://www.springframework.org/schema/tx
      http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">


    <!--  1.注解扫描位置  -->
    <context:component-scan base-package="com.zrgj.controller"/>

    <!--  2.配置映射器和适配器  -->
    <mvc:annotation-driven></mvc:annotation-driven>

	<!--  3.视图解析器  -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/pages/"/>
        <property name="suffix" value=".jsp"/>

    </bean>

<!--	
细心的人就发现,这里跟上面的单独配置时的配置文件有点不同,但其实是一样的,
<mvc:annotation-driven></mvc:annotation-driven>这个标签相当于注册了
DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter这两
个bean
-->
</beans>

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

  <!--  配置类的加载路径  -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>

	<!--  监听器  -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
  </listener>

  <!--  设置过滤器;解决中文乱码  -->
  <filter>
    <filter-name>characterEncoding</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>characterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!--  前端控制器(加载classpath:spring-mvc.xml  服务器启动创建servlet)  -->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--  配置初始化参数,创建完dispatcherServlet对象,加载spring-mvc.xml配置文件  -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <!--  服务器启动的时候,让dispatcherServlet 对象创建  -->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

</web-app>

总结

因为web.xml中的配置不管是单独使用spring、springmvc,还是SSM整合时,
都是一样的,只需要把配置文件注册即可,所以我直接写了整合。
在SSM整合之前分别列举了单独使用框架时的配置文件,是因为自己老是在看整合的
配置文件时将这三个框架混淆了,放在同一篇文章就能很好的比较了。

可以看到,在SSM整合时,mybatis的配置并入了applicationContext.xml文件中。

刚刚提到了知识混淆,context:component-scan该标签可以看到在applicationContext.xml和spring-mvc.xml中都出现, 之前老是会想,为什么两个文件中都要写这个标签,作用不都是一样的吗?因为spring是负责dao和service这两个模块的,而spring-mvc.xml负责controller模块,在该配置文件中加入这个标签
<context:component-scan base-package=“com.zrgj.controller”/>,就是为了使SpringMVC认为包下用了@controller注解的类是控制器。

所以我们有时候能看到这种写法:

<!--	剔除了存放controller类的包	-->
<context:component-scan base-package="com.zrgj">
        <context:exclude-filter type="annotation" expression="com.zrgj.controller"/>
    </context:component-scan>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值