1.定义实体类Student

2.定义Student表

3.定义index页面

4.定义处理器

5.定义Service

6.定义Dao接口

7.定义Dao的Mapper配置文件

8.定义MyBatis的主配置文件(很多配置已经在spring-mybatis文件中完成了)

 <!-- 该配置文件中主要用于注册 Mapper 中所使用的 类的 别名,及Mapper的位置 -->
<configuration>
<!-- 别名 -->
<typeAliases>
<package name="com.ssm.model"/>
</typeAliases> <!-- Mapper 位置 -->
<mappers>
<package name="com.ssm.dao"/>
</mappers>
</configuration>

9.定义jdbc.prperties

10.定义Spring的配置文件

  (1)spring-db.xml

  (2)spring-mybatis.xml

 <!-- 该配置文件 主要用于 注册 SqlSessionFactoryBean 以及 Mapper 动态代理生成器的Bean -->

     <!-- 注册 SqlSessionFactory的Bean -->
<!-- InputStream in = Resources.getResourceAsStream("mybatis.xml");
session = new SqlSessionFactoryBuilder().build(in).openSession(); -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 指定mybatis 主配置文件位置 -->
<property name="configLocation" value="classpath:resources/mybatis.xml"/>
</bean> <!-- 也可以使用Mapper 动态代理的方式,来生成 Dao 的 代理对象,但是这种方式一次 只能 生成一个 Dao 的代理对象,如果有多个类型的Dao,那么就需要配置多次
<bean id="studentDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
<property name="mapperInterface" value="com.ssm.dao.StudentDao"></property>
</bean>
-->
<!-- 注册 Mapper 扫描 配置器(为指定包中的 所有接口生成代理对象) -->
<!-- 生成 Dao 的代理对象,使用 Mapper 配置扫描器 会为指定包中的 所有接口生成代理对象-->
<!-- 需要注入该 代理对象时,使用 的 是 ref,(ref="IStudentDao" 或 ref="studentDao") -->
<!-- <property name="dao" ref="studentDao"></property> --> <!-- studentDAO = sqlSession.getMapper(StudentDAO.class); -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<!-- 指定基本扫描包,即Dao接口包 -->
<property name="basePackage" value="com.ssm.dao"></property>
</bean>

  

  (3)spring-service.xml

  (4)spring-tx.xml

    

 <!-- 配置事务管理器 -->
<!-- 开启Spring中的事务管理(声明式的事务管理) xml-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean> <!-- 注册 事务通知 -->
<!-- 具体的advice(逻辑) 由 自之前定义的TransactionManager 来指定-->
<tx:advice transaction-manager="transactionManager" id="transactionAdvice">
<tx:attributes>
<tx:method name="add*" isolation="DEFAULT" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice> <!-- aop 配置 -->
<!-- 想要进行事务管理,都需要运用到 AOP ,往方法前后加入开启事务 和 关闭事务的 逻辑,所以用xml 进行声明式的事务管理,也需要用到AOP -->
<aop:config>
<aop:pointcut expression="execution(* *..service.*.*(..))" id="myPointCut"/>
<aop:advisor advice-ref="transactionAdvice" pointcut-ref="myPointCut"/>
</aop:config>

11.定义SpringMVC配置文件

12.定义视图页面 show.jsp

19.SSM整合_配置式开发的更多相关文章

  1. SSM整合_年轻人的第一个增删改查_查找

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  2. SSM整合_年轻人的第一个增删改查_基础环境搭建

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  3. 《SpringMVC从入门到放肆》四、SpringMVC配置式开发(处理器映射器)

    上一篇我们讲解了DispatcherServlet的url-pattern配置详解,今天我们来真正对SpringMVC进行配置式开发.所谓配置式开发是指“处理器类是程序员自己定义的.实现了特定接口的类 ...

  4. 3.2.2 SpringMVC配置式开发

    SpringMVC配置式开发 1. SpringMVC运行原理(执行过程) 2. 需求 用户提交一个请求, 服务端处理器接收到请求后, 给出一条信息,在相应页面中显示该条信息 3. 开发步骤 (1) ...

  5. SpringMVC配置式开发

    所谓配置式开发是指“处理器类是程序员手工定义,实现了特定接口的类,然后再在SpringMVC 配置文件中对该类进行显示的.明确的注册”的开发方式. 一.处理器映射器HandlerMapping Han ...

  6. SSM整合_年轻人的第一个增删改查_新增

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  7. 18.SSM整合_搭建开发环境

    1.导入jar包 mybatis的Jar包 ehcache的Jar包 spring的 Jar包 mybatis 与 spring 整合Jar包 JSON的jar包 Jaskson的Jar包 Hiber ...

  8. IDEA环境下SSM整合------环境配置

    声明:本文纯为个人笔记整理,如有不妥之处还望及时指出,欢迎转载! 只为解决操作问题,可以从第二幅图往后看! 一.做不出详细的概念叙述和文本设计,本文主要以实战步骤为主,少量解释为辅助,下面请大家牢记两 ...

  9. 1.SSM整合_单表的增删改查

    目标:增删改查 环境:Maven+Eclipse+Tomcat7+JDK7 思维导图: 表结构 目录结构 依赖 <dependencies> <dependency> < ...

随机推荐

  1. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_11-webpack研究-npm和cnpm安装配置

    node.js安装完成后,就自动安装了webpack. npm -v:查看npm安装的版本 当前安装目录默认的包 在node.js的目录下创建两个文件夹 这样路径就被修改成功了 cnpm npm in ...

  2. 图解 HTTP 笔记(七)——HTTPS

    本章主要讲解 HTTPS 的基本原理,以及如何利用 HTTPS 防范 HTTP 通信过程中存在的伪装.窃听.篡改等问题 一.HTTP 的缺点 HTTP 在通信过程中会面临以下三种安全问题: 通信使用明 ...

  3. Java8 根据对象某个属性值去重

    list中的对象某个属性存在重复时将重复的对象去重 //根据skuAttrValueName值去重 List<SkuValue> uniqueSkuValues = skuValues.s ...

  4. web布局收集整理

    /*样式文件*/ .fgw-right-p{ height: 38px; line-height: 38px; margin-bottom: 20px; padding-left: 24px; spa ...

  5. Spark On YARN启动流程源码分析(一)

    本文主要参考: a. https://www.cnblogs.com/yy3b2007com/p/10934090.html 0. 说明 a. 关于spark源码会不定期的更新与补充 b. 对于spa ...

  6. Git速成学习第五课:分支管理策略

    Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 通常合并分支时,如果可能用Fast forward模式,但是在这种模式下,删除分支后,会丢掉分支 ...

  7. eNSP——利用单臂路由实现VLAN间路由

    原理: 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响,并增强网络的安全性和可管理性.其缺点是同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户不能直接互相通 ...

  8. idea把maven依赖树输出到控制台

    第一步 选中红色方框 第二步 点进去 输入命令:mvn dependency:tree 如果要输出到文件,找到pom文件的位置 进入命令行 输入: mvn dependency:tree >d: ...

  9. The timeout period elapsed prior to completion of the operation or the server is not responding.

    问题:更新数据的状态值时,部分报出如下异常: 即时有成功更新,时有报错问题出现. 在LOG中发现成功更新的数据,存在更新时间过长问题,将近30秒(EF默认的CommandTimeout为30秒): 代 ...

  10. bootstrap导航栏PC端移动端之不同样式

    在此之前,我先说我之所以要改变网站PC移动双端不同样式的原因. 首先我的网站用到了bootstrap响应式布局,这是我网站的PC端导航栏: 这是我网站的移动端导航栏,看着就难受: 我用谷歌浏览器F12 ...