完整开发步骤

      • 导包

        • 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. linux学习:【第3篇】之常见命令2

    一.知识点回顾 临时:关闭当前正在运行的 /etc/init.d/iptables stop 永久:关闭开机自启动 chkonfig iptables off ll /var/log/secure # ...

  2. 给DataFrame的列命名或重命名

    1.读取文件的时候重命名 names = new_col,可以在读取文件的时候,给出新列名. new_col = ['new1', 'new2',... , 'newn'] pd.read_csv(' ...

  3. 什么叫AOP(面向切面编程)?

    spring的AOP面向切面编程,实现在不改变代码的情况下完成对方法的增强.比较常用的就是spring的声明式事务管理,底层通过AOP实现,避免了我们每次都要手动开启事物,提交事务的重复性代码,使得开 ...

  4. [Linux系统] (7)Keepalived高可用

    一.解决LVS server单点故障 如果集群中只有一台LVS server提供数据包分发服务,如果宕机,则会导致所有的业务重点,因为所有的请求都无法到达后面的Real server. 此时我们可以采 ...

  5. HGOI 20190822 OCWA提高组模拟赛二

    Problem A 快递 根节点为$1$ , 含有$n$个节点的树,每一条边都有一段开放的时间$[s_i,e_i]$,和经过需要的时间. 有$q$组询问,每一次在时刻$t_i$出发从根节点出发走到第$ ...

  6. JavaScript插件制作-tab选项卡

    JavaScript插件制作练习-鼠标划过选项卡切换图片 <!DOCTYPE html> <html> <head> <meta charset=" ...

  7. 事件总线(EventBus)

    Vue.prototype.$EventBus = new Vue() 不建议用,尽量用vuex,eventbus过于消耗浏览器资源 傻瓜版状态管理 一般的状态传递是在同时显示的情况下,倘若是在不同时 ...

  8. 缓存区溢出之slmail fuzzing

    这是我们的实验环境 kali 172.18.5.118smtp windows2003  172.18.5.117  pop3 110 smtp 25 本机 172.18.5.114 已经知道slma ...

  9. Dynamic Web Module 2.3 change to 3.0 maven工程解决办法

    pom.xml <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <a ...

  10. httpclient+jsoup实现网页信息抓取

    需求分析:抓取:http://tools.2345.com/rili.htm中的万年历(阳历.阴历等等). 1.首先为抓取的内容创建一个类.实现封装. package com.wan.domain; ...