ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ssm框架整合

2019-07-21 19:04:22  阅读:276  来源: 互联网

标签:xml 文件 resource 框架 web 创建 ssm 整合 springconfig


ssm框架基本结构 

 1、在resource目录下创建一个mapperxmlconfig文件,用于存放mybatis的mapper映射文件

 2、在resource目录下创建一个mybatisconfig文件,用于配置Mybatis.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>
  <!-- 这里面你可以配置一下关于JavaBean中类的一些别名,这样就方便在之后的Mapper文件中进行处理 -->
  <typeAliases>
    <package name="com.bean"/>
  </typeAliases>

 <mappers>
 </mappers>
</configuration>

3、在resource目录下创建一个springconfig的文件,这里存放之后的关于spring的一些配置文件

4、在springconfig文件中,创建applicationContex-dao.xml文件,主要是配置:加载properties文件,数据源,SqlSessionFactory,Mapper扫描

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

    <!-- 配置 读取properties文件 jdbc.properties -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 自动扫描所有的注解 -->
    <context:component-scan base-package="com.xuhao"/>

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClass}"/>
        <property name="jdbcUrl" value="${jdbc.jdbcUrl}"/>
        <property name="user" value="${jdbc.name}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

    <!-- 配置SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 设置数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 设置MyBatis核心配置文件 -->
        <property name="configLocation" value="classpath:mybatis-config/Configuration.xml" />
        <!-- 设置扫描mapper.xml文件 -->
        <property name="mapperLocations" value="classpath:mapper-config/*Mapper.xml"/>
    </bean>

    <!-- 配置Mapper层java类扫描 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 设置Mapper扫描包 -->
        <property name="basePackage" value="com.xuhao.mapper" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>
</beans>

5、在springconfig文件中,创建管理service层的文件,命名为ApplicationContext-service.xml(这里其实主要就是配置一下扫描service的工作)。。因为在Dao中全部扫描了,所以这个xml中暂时没有内容。

6、在springconfig文件中,创建管理transaction层的文件,主要就是对事务以及AOP切面的处理

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    ">
    <!--添加spring-dao层配置文件-->
    <import resource="ApplicationContext-Dao.xml" />
    <!-- 事务管理器 -->
    <bean id="transactionManager"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource" />
    </bean>

    <!-- 事务模板对象 -->
    <bean name="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate" >
        <property name="transactionManager" ref="transactionManager" />
    </bean>

    <!-- 通知 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="save*"/>
            <tx:method name="add*"/>
            <tx:method name="insert*"/>
            <tx:method name="update*"/>
            <tx:method name="delete*"/>
        </tx:attributes>
    </tx:advice>



    <!--
    如果嫌弃上面的配置太麻烦,想在service不同的类进行不同的事务控制,那么就用下面的配置
    但是要注意:需要在service的类中进行手动的添加@Transactional注解,而用上面的话就不需要进行额外的配置了

     配置基于注解的声明式事务
    <tx:annotation-driven transaction-manager="transactionManager"/>
    -->
</beans>

7、在resource目录下,创建springmvcconfig文件目录,用于配置springMVC的配置文件,并创建命名为springmvc.xml(主要:Controller扫描、注解驱动、视图解析器

<?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-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">


    <!-- 配置Controller扫描 -->
    <context:component-scan base-package="com.xuhao.controller"/>


    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!-- 后缀 -->
        <property name="suffix" value=".jsp"/>
    </bean>


    <!-- 配置注解驱动 -->
    <mvc:annotation-driven/>

    <!--处理静态资源请求-->
    <mvc:default-servlet-handler/>
</beans>

8、配置web.xml文件(主要:配置Spring、SpringMVC、解决post乱码问题

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

    <!--配置项目启动的时候加载spring的相关配置文件-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-config/ApplicationContext-*.xml</param-value>
    </context-param>
    <!--配置监听器加载spring-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!--配置过滤器,解决post乱码问题-->
    <filter>
        <filter-name>encoding</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>encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!--配置springmvc-->
    <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-config/springmvcConfig.xml</param-value>
        </init-param>
        <!-- 配置springmvc什么时候启动,参数必须为整数 -->
        <!-- 如果为0或者大于0,则springMVC随着容器启动而启动 -->
        <!-- 如果小于0,则在第一次请求进来的时候启动 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

9、在resource文件目录下,创建数据库的properties文件,这个就是连接数据库对应的内容

10、 直接在与Java文件同级下,创建日志文件的properties文件,这个根据需要自行判断是否需要即可

博客参考自https://blog.csdn.net/Cs_hnu_scw/article/details/78157672

 

标签:xml,文件,resource,框架,web,创建,ssm,整合,springconfig
来源: https://blog.csdn.net/xcrazyu/article/details/96743609

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有