完整开发步骤

      • 导包

        • spring的jar包
        • mybatis的jar包
        • mybatis-Spring的jar包
        • aop的依赖jar包
        • oracle等数据库连接的jar包
        • DataSource的jar包
        • 日志包
      • 导入配置文件
        • web.xml
        • mvc.xml
        • applicationContext.xml
        • applicationContext.properties
      • 初始化配置
        • web.xml

          • spring核心控制器

          • 指定mvc配置文件的路径

          • 指定编码的filter

          • `<servlet>
                <servlet-name>mvc</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <!-- 指定springMVC配置文件的路径 -->
                <init-param>
                  <param-name>contextConfigLocation</param-name>
                  <param-value>classpath:mvc.xml</param-value>
                </init-param>
                <!-- 设置tomcat启动前去创建servlet对象 -->
                <load-on-startup>1</load-on-startup>
              </servlet>
              <!-- 指定springMVC的所有控制器的访问路径都以*.do结尾 -->
              <servlet-mapping>
                <servlet-name>mvc</servlet-name>
                <url-pattern>*.do</url-pattern>
              </servlet-mapping>`

          • spring工厂初始化的监听器

          • spring配置文件初始化

          • `

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

            <!--3. 手动指定配置文件路径  -->
                <context-param>
                    <param-name>contextConfigLocation</param-name>
                    <param-value>classpath:/applicationContext.xml</param-value>
                </context-param>

            `

        • mvc.xml

          • 注解管理controlller
          • 注解开发mvc
          • `<context:component-scan base-package="com.baizhi"></context:component-scan>
                 <mvc:annotation-driven></mvc:annotation-driven>`
        • applicationContext.xml

          • 引入外部的配置文件
          • ` <context:property-placeholder location="classpath:/application.properties"></context:property-placeholder>`
          • 开启注解管理除了Controller
          • `<context:component-scan base-package="com.baizhi"></context:component-scan>`
          • 连接池
          • `<bean id="dataSour" class="com.alibaba.druid.pool.DruidDataSource">
                     <property name="driverClassName" value="oracle.jdbc.OracleDriver"></property>
                     <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"></property>
                     <property name="username" value="${database.username}"></property>
                     <property name="password" value="${database.password}"></property>
                     <property name="initialSize" value="${database.initialSize}"></property>
                     <property name="maxActive" value="${database.maxActive}"></property>
                     <property name="maxWait" value="${database.maxWait}"></property>
                 </bean>
                 `
          • 事务相关
          • `<!-- 配置增强类所需要用到的事务管理器 -->
                 <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
                     <property name="dataSource" ref="dataSour"></property>
                 </bean>`
          • `<!-- 配置能自动生成事务先关的增强类的类 -->
                 <tx:advice id="txAdvice" transaction-manager="txManager">
                     <tx:attributes>
                         <tx:method name="get*" read-only="true" propagation="SUPPORTS" rollback-for="java.lang.RuntimeException"/>
                         <tx:method name="to*" read-only="false" propagation="REQUIRED" rollback-for="java.lang.RuntimeException"/>
                         <tx:method name="*" read-only="false" propagation="REQUIRED" rollback-for="java.lang.RuntimeException"/>
                     </tx:attributes>
                 </tx:advice>`
          • `<!-- aop动态代理选择切入点和组装 -->
                 <aop:config>
                     <aop:pointcut expression="execution(* com.baizhi.service.impl.*.*(..))" id="usercut"/>
                     <aop:advisor advice-ref="txAdvice" pointcut-ref="usercut"/>
                 </aop:config>`
          • Mybatis相关
          • `<bean id='sqlSessionFactory' class="org.mybatis.spring.SqlSessionFactoryBean">
                       <property name="dataSource" ref="dataSour"></property>
                       <property name="mapperLocations" value="classpath:/com/baizhi/dao/impl/*.xml"></property>
                       <property name="typeAliasesPackage" value="com.baizhi.entity"></property>
                   </bean>
              <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
                  <property name="basePackage" value="com.baizhi.dao"></property>
              </bean>`

SSM的开发步骤分析的更多相关文章

  1. 开发步骤Dubbo、spring mvc、springboot、SSM整合开发步骤

    一.Dubbo开发步骤: 链接:https://pan.baidu.com/s/1pMPO1kf 密码:9zaa 第一: 1.创建consumer工程2.在pom.xml文件下添加配置3.添加appl ...

  2. 开发步骤Dubbo、spring mvc、springboot、SSM开发步骤

    一.Dubbo开发步骤: 链接:https://pan.baidu.com/s/1pMPO1kf 密码:9zaa 第一: 1.创建consumer工程2.在pom.xml文件下添加配置3.添加appl ...

  3. 以DDD为开发模式的设计开发步骤可以是

    以DDD为开发模式的设计开发步骤可以是:1)分析需求:2)画出用例图,系统中各个角色如何使用系统,也包括外部系统如何使用系统,也包括系统中到某个时间点自动启动的某些功能(此时角色就是时间):3)针对各 ...

  4. Android_app项目开发步骤总结

    做了几个android企业应用项目后,总结了项目的基本开发步骤.希望可以交流. 一 应用规划:      ※确定功能.      ※必须的界面及界面跳转的流程.      ※须要的数据及数据的来源及格 ...

  5. Web应用程序的开发步骤

    Web应用程序的开发步骤 如今已进入了web2.0高速发展的互联网时代,各种互联网的Web应用程序如雨后春笋般出现.那么作为一名Web开发人员,怎样去开发一款优秀的Web应用程序呢?这个问题没有一个简 ...

  6. SSM框架开发web项目系列(二) MyBatis真正的力量

    前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBa ...

  7. SSM框架开发web项目系列(五) Spring集成MyBatis

    前言 在前面的MyBatis部分内容中,我们已经可以独立的基于MyBatis构建一个数据库访问层应用,但是在实际的项目开发中,我们的程序不会这么简单,层次也更加复杂,除了这里说到的持久层,还有业务逻辑 ...

  8. ssm基础搭建步骤

    今天搭建新的项目环境,从网上找了些ssm的搭建步骤,终于找到了一位csdn的大佬,可以说写的特别详细,按照上面步骤搭建即可,为了方便日后参考,转载到本人博客,原文链接:https://blog.csd ...

  9. hadoop日志数据分析开发步骤及代码

    日志数据分析:1.背景1.1 hm论坛日志,数据分为两部分组成,原来是一个大文件,是56GB:以后每天生成一个文件,大约是150-200MB之间:1.2 日志格式是apache common日志格式: ...

随机推荐

  1. vue2.0 移动端,下拉刷新,上拉加载更多 封装组件

    前言 在做移动端的避免不了 下拉刷新,上拉加载 直接上代码吧,哈哈 组件里: <template lang="html"> <div class="yo ...

  2. Acwing-282-石子合并(区间DP)

    链接: https://www.acwing.com/problem/content/284/ 题意: 设有N堆石子排成一排,其编号为1,2,3,-,N. 每堆石子有一定的质量,可以用一个整数来描述, ...

  3. C# 计时函数(毫秒)

    using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Threading ...

  4. 【leetcode】1247. Minimum Swaps to Make Strings Equal

    题目如下: You are given two strings s1 and s2 of equal length consisting of letters "x" and &q ...

  5. 28.数组中出现次数超过长度一半的数字(python)

    题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  6. pdf转换

    namespace Utilities { public static class PDFHelper { /// <summary> /// Html转Pdf /// </summ ...

  7. redis 短信验证码

    127.0.0.1:6379> get CERTIYCODESENDFORAPP.1101:18222202889 "\xac\xed\x00\x05sr\x00\x11java.ut ...

  8. 百度之星 初赛三 最短路 2 Dijkstra

    打比赛的时候切的,不过竟然 wa 了 14 次~ 挺简单的,直接在跑 $Dijkstra$ 的时候记录一下路径最大值就好了. #include <bits/stdc++.h> #defin ...

  9. Confluence 6 文件

    通过将你的文件上传到 Confluence 能够让你在一个统一的地方分享你项目小组的 PDF 文件,Office 文档,图片以及更多的内容. 自动版本,即时预览,权限控制和全文搜索意味着在网络驱动器上 ...

  10. Angular 英雄示例教程

    英雄指南教程(Tour of Heroes)涵盖了 Angular 的基本知识. 在本教程中,你将构建一个应用,来帮助人事代理机构来管理一群英雄. 这个入门级 app 包含很多数据驱动的应用所需的特性 ...