• Mybatis+Springmvc+Spring整合常用的配置文件


    1.创建web项目

    2.导入mabatis spring springnvc 需要的jar包

    3.创建mybatis,spring,springmvc的配置文件

        (1)web.xml配置文件

                  

    <?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">

    <!-- 告知javaEE容器,有哪些内容需要添加到上下文中去 -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    /WEB-INF/classes/applicationContext.xml,
    <!-- /WEB-INF/classes/mvc-servlet.xml -->
    </param-value>
    </context-param>


    <!-- 加载LOG4J -->
    <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.xml</param-value>
    </context-param>

    <context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>60000</param-value>
    </context-param>

    <!-- 动态设置项目的运行路径 -->
    <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>ssm.root</param-value>
    </context-param>

    <!-- 配置静态资源 -->
    <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/static/*</url-pattern>
    </servlet-mapping>


    <!-- 配置springmvc的前端控制器 -->
    <servlet>
    <servlet-name>mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 默认情况下:DispatcherServlet会寻找WEB-INF下,命名规范为[servlet-name]-servlet.xml文件。如:在上例中,它就会找/WEB-INF/spring-servlet.xml
    如果需要修改,需要在web.xml中的<servlet>标记中增加 <init-param>。。。 </init-param>:-->
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/classes/mvc-servlet.xml</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>mvc</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- spring框架提供的字符集过滤器 -->
    <!-- spring Web MVC框架提供了org.springframework.web.filter.CharacterEncodingFilter用于解决POST方式造成的中文乱码问题 -->
    <filter>
    <filter-name>encodingFilter</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>
    <!-- force强制,促使 -->
    <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>true</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 登录过滤器-->
    <filter>
    <filter-name>loginFilter</filter-name>
    <filter-class>com.cy.ssm.filter.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>loginFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- 监听器 -->
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>

    (2)mabatis配置文件

    <?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>
        
    </configuration>

    (3)springmvc配置文件(servlet.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:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

    <!-- 启动注解,注册服务,如验证框架、全局类型转换器-->
    <mvc:annotation-driven/>


    <!-- 启动自动扫描 -->
    <context:component-scan base-package="com.cy.ssm">
    <!-- 制定扫包规则 ,只扫描使用@Controller注解的JAVA类 -->
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>


    <!-- 配置视图解析器 -->
    <!--
    prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),
    比如传进来的逻辑视图名为WEB-INF/jsp/hello,则该该jsp视图页面应该存放在“WEB-INF/jsp/hello.jsp”; -->
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
    <property name="prefix" value="/"></property> <!-- 我这里的视图直接放在WebRoot下的 -->
    <property name="suffix" value=".jsp"></property>
    </bean>
    </beans>

    (4)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"
    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-3.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.2.xsd">


    <!-- 开启自动扫包 -->
    <context:component-scan base-package="com.cy.ssm">
    <!--制定扫包规则,不扫描@Controller注解的JAVA类,其他的还是要扫描 -->
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

    <!-- 启动AOP支持 -->
    <aop:aspectj-autoproxy/>

    <!-- 引入外部数据源配置信息 -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
    <value>classpath:datasource.properties</value>
    </property>
    </bean>

    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driver}"></property>
    <property name="url" value="${jdbc.url}"></property>
    <property name="username" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
    </bean>


    <!-- 配置Session工厂 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <!-- 加载mybatis.cfg.xml文件 -->
    <property name="configLocation" value="classpath:mybatis.cfg.xml"></property>
    <!-- 自动扫描需要定义类别名的包,将包内的JAVA类的类名作为类别名 -->
    <property name="typeAliasesPackage" value="com.cy.ssm.beans"></property>
    </bean>

    <!-- 自动扫描所有的Mapper接口与文件 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.cy.ssm.mapper"></property>
    </bean>

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

    <!-- 定义个通知,指定事务管理器 -->
    <tx:advice id="txAdvice" transaction-manager="txManager">
    <tx:attributes>
    <tx:method name="delete*" propagation="REQUIRED" read-only="false"
    rollback-for="java.lang.Exception" />
    <tx:method name="save*" propagation="REQUIRED" read-only="false"
    rollback-for="java.lang.Exception" />
    <tx:method name="insert*" propagation="REQUIRED" read-only="false"
    rollback-for="java.lang.Exception" />
    <tx:method name="update*" propagation="REQUIRED" read-only="false"
    rollback-for="java.lang.Exception" />
    <tx:method name="load*" propagation="SUPPORTS" read-only="true"/>
    <tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
    <tx:method name="search*" propagation="SUPPORTS" read-only="true"/>
    <tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
    <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
    </tx:attributes>
    </tx:advice>

    <aop:config>
    <!-- 配置一个切入点 -->
    <aop:pointcut id="serviceMethods" expression="execution(* com.cy.ssm.service.impl.*ServiceImpl.*(..))" />
    <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods" />
    </aop:config>

    </beans>



  • 相关阅读:
    Oracle--SQL Developer创建连接及使用
    MongoDB--使用修改器修改文档
    MongoDB 的创建、查询、更新、删除
    window下 Mongodb无法访问28107的有关问题(转)
    十一、存储过程
    十、视图
    九、增、改、查数据
    七、联结表
    八、组合查询和全文本搜索
    六、聚合函数、数据分组
  • 原文地址:https://www.cnblogs.com/qianf/p/9534064.html
Copyright © 2020-2023  润新知