zoukankan      html  css  js  c++  java
  • 了解Spring

    Spring-第三章

     

    还原web项目的Test_Shop到Test_Shop_SM

    Spring集成MyBatis

     

    步骤

    1. 添加Spring,MyBatis相关jar包

    参见共享,Test_Shop_SMjars

    2. 复制applicationContext.xml,修改部分命名空间

     

    3. 测试一个ProductService例子

     

    回顾当前配置下的加载顺序

    1. MyBatis的主配置文件mybatis-config.xml 和 工具类MyBatisUtil

    2. Mapper文件

    3. Dao接口

    4. Service接口

    5. Service实现

    6. 测试端

    替代mybatis-config.xml 主配置文件的功能

    使用Spring来集成该功能,Spring的IOC来替MyBatis生成工厂的特殊对象

    创建数据连接,即数据源 取代标签组

     

    创建工厂 取代标签组和MyBatisUtil 工具类

     

    加载JDBC的配置文件 独立配置文件

     

    修改为动态参数

     

    测试打印 SqlSessionFactory

     

    完成MyBatis对象的引入

    版本1:

    使用Spring IOC 创建dao对象,同时注入sqlSession配置

     

    使用Spring IOC 创建service对象,并持有dao对象的引用

     

    service层的实现类,持有dao对象的引用,并创建对应的set和get方法

     

    完成ProductService的查询例子

    1. 检查原 MyBatisUtil工具类,依靠代理创建的对象

    2. 对比Spring IOC创建的对象

    3. 两者类型一致,说明Spring IOC创建的dao 对象

    底层实现:SqlSession的MapperProxy代理实现

    4. Spring-IOC 创建的sqlSessionFactory对象,会自动完成事务的提交和流的关闭

    移除mybatis-config.xml 配置文件,MyBatisUtil工具类,及相关配置

    版本2:

    dao层的动态代理

     

           1. 特殊类MapperScannerConfigurer根据value值,找到接口的包

           2. 将该包下所有的接口类名,改为 标准的对象引用命名(驼峰命名)

    3. 通过自动装配byType,实现自动注入SqlSession对象

           4. spring 容器中拥有这些 标准的对象引用名,可以直接被引用

           5. 底层实现:SqlSession的MapperProxy代理实现

    Service层的自动装配

    开启注解扫描,扫描Service的接口层

     

    Service实现类标注注解

     

    Service自动装配Dao对象,默认按照类型自动装配productDao

     

    不再需要productService的bean标签和set/get方法了

    Spring的专属Junit

     

    总结:

           1. Dao层的对象创建的底层实现,是MyBatis框架下的SqlSession对象,依靠MapperProxy动态代理技术实现

           2. Service层的对象创建的底层实现,是依赖Spring-IOC 的bean-id来创建,不管是显示bean,还是自动装配。再底层细致,就是反射+无参构造方法

    3. 层与层之间都必须有需要有Spring bean 的定义(不管是显示定义,还是隐藏定义)

           4. 类与类之间的依赖 :

    原始是通过在配置文件里写明ref实现;

    升级后,靠注释自动装配@Autowired实现,但是底层还是靠ref实现

           5. Spring的发展是代码和配置文件越来越简洁,通用代码被隐藏,但功能越来越强;

             就像是社会的发展,原始是手工劳作,现在是机器自动化。

    集成web

    web.xml添加监听,用来加载Spring的主配置文件

     

    标准配置文件路径

    1. 将配置文件放入config文件夹 (日志配置文件保留在根目录)

    2. 修改web.xml的监听路径

    3. 修改applicationContext.xml的jdbc.properties路径

    4. 修改SpringJunit 的注解applicationContext.xml路径

    Test_Shop升级Spring架构

    1. Spring集成MyBatis框架,删除mybatis-config.xml和MyBatisUtil.java

    2. 修改Tesh_Shop_SM的业务逻辑层

    3. 使用SpringJunit测试所有业务逻辑层代码

  • 相关阅读:
    python模块—socket
    mac os系统的快捷键
    教你如何将UIImageView视图中的图片变成圆角
    关于ASP.NET MVC
    iOS 日期格式的转换
    将App通过XCode上传到AppStore 出现这个错误“An error occurred uploading to the iTunes Store”的解决方法
    关于MAC OS下面两个软件的功能改进——Dictionary和Fit 输入法
    分享一下上个星期的香港行程
    【博客园IT新闻】博客园IT新闻 iPhone 客户端发布
    解决Entity Framework Code First 的问题——Model compatibility cannot be checked because the database does not contain model metadata
  • 原文地址:https://www.cnblogs.com/h-w-b/p/12841272.html
Copyright © 2011-2022 走看看