ssm整合-version1

本文详细介绍了如何进行SSM(Spring、SpringMVC、MyBatis)整合,从创建MySQL数据库开始,逐步添加依赖,配置Spring的IOC,搭建Service、SpringMVC、Controller、Dao层,并实现了AOP事务管理。通过此教程,读者可以掌握完整的SSM整合步骤。
摘要由CSDN通过智能技术生成

ssm整合

Spring,SpringMVC,Mybastis

  1. 先搭建整合的环境
  2. 先把Spring的配置搭建完成
  3. 再使用Spring整合SpringMVC框架
  4. 最后使用Spring整合MyBatis框架

mysql创建

创建mysql,存放数据
相关代码参考:
id int primary key auto_increment, name varchar(20),money double
/alter table account change money password varchar(20) 改名
/alter table student modify column sname varchar(20); 修改属性

添加依赖

配置pom.xml
把需要用到的依赖加进来就好

添加log4j.properties

日志文件属性,包含打印级别等信息

搭建spring思路,IOC

spring 先写个测试类逻辑 先测试的是IOC
applicationContext.xml配置IOC
测试类添加注解sping-test模块 然后 autowrite 看看IOC成不成功
测试思路 新建s对象 写两个方法一个查询一个保存

service层

将来实现类对象由Spring管理,成员变量使用依赖注入

applicationContext.xml配置

<!--    组件扫描-->
    <context:component-scan base-package="">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
因为Controller是web层的交给springmvc做 所以跳过他
    </context:component-scan>

SpringMVC

  1. web.xml 里面配置
    前端控制器DispatcherServlet
    编码过滤器CharacterEncodingFilter
    ContextLoaderListener作为监听器,会监听web容器相关事件,在web容器启动或者关闭时触发执行响应程序

  2. springmvc中配置指定扫描包
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    添加逻辑视图的前面和后面部分

  3. 过滤静态资源 <mvc:resources location="/css/" mapping="/css/**" />

Controller

  1. string返回页面类型(model model)设置值给返回
    调用他的方法 model.addAttribute赋值 return 页面地址,会被视图前后补全

Dao层

  1. applictionContext.xml里配置sql连接,也可以配置在SqlMapConfig

  2. SqlMapConfig往 applicationContext整
    在applicaton自己加数据源
    优点 不用调用session.getMapper(xxx.class)
    session.commit() session.close()不能用太多不然报错 十六次

AOP

  1. 配置AOP可以自动回滚数据
  2. 事务的特性:一致性 原子性 隔离性 持久性
  3. 管理sql的事务连接池 上面配了 这里那个值是调用
<!--配置Spring框架声明式事务管理-->
    <!--配置事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

接着配事务表达式 (* com.wzx.service.impl.ServiceImpl.(…)) .* 什么什么impl 是说你实现类一般是这么写的 方便记忆 只省略了写方法

<aop:config>
        <aop:pointcut id="service" expression="execution(* com.yzf.service.personservice.PersonService.*(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut="service" />
    </aop:config>
  1. 然后配置事务管理方法,管理增删改方法,应该是CURD create update read delete
    配置了 相关的才会有增强
<tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="find*" read-only="true"/>
            <tx:method name="*" isolation="DEFAULT"/>
        </tx:attributes>
    </tx:advice>
配好了会自动帮你看方法 方法包含什么词 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值