zoukankan      html  css  js  c++  java
  • 6.11 spring框架

    spring框架:

      

    springmvc框架  只做三件事

      1.过去页面传递给服务器的数据

      2.根据获取的页面数据,调用业务方法,处理具体业务

      3.根据业务的返回结果做相应的跳转工作

    springmvc 框架  也只做三件事

      1.获取页面的数据(springmvc帮你做了)

      2.调用具体的业务操作(程序员只需要关注具体的业务实现)

      3.根据业务的结果做跳转(springmvc帮你做了)

    mybatis框架:持久层框架

      1.过去连接

      2.写sql语句

      3.构建PreparedStatement对象

      4.sql语句由?,给?占位符赋值

      5.dml执行executeUpdate(),返回结果是受影响和的行数

      dql执行executeQuery(),返回结果是ResultSet结果集

      6.遍历结果集,把结果集的数据转化到集合中

      7.关闭所有的资源(ResultSet,PreparedStatement,Connnection)

    mybatis框架:

      程序员只需要提供变化的数据(sql sql语句?号占位符)剩下全部交给

      mybatis操作

    结论:学习框架就是提高开发效率

    如何学习一个框架

      1.根据需求,在谷歌或百度上搜索能完成此需求的框架

      2.去此框架的官方网站,学习框架的用法

       -从官网寻找直接案例

       -从官网寻找开发文档

       -从百度或谷歌上搜索博客(csdn,iteye,cnblog等)

       学一个框架的demo,框架的细节,一定要读官网的开发文档

    spring官网:spring.io

    spring框架:能够提高开发效率,能够做企业应用开发,解耦

      spring frameword包含:

       核心技术:

         IOC(inversion of control 控制反转)

         DI(dependency injection 依赖注入)

         AOP(面向方面的编程),衍生出spring的声明式事务管理

      数据访问:

        spring jdbc

    spring IOC 容器:

      IOC控制反转,把new对象的控制权,转移到第三方框架spring中,

      由spring框架控制对象的创建和管理

     以前:

      User user=new User();由程序员控制在需要的地方写此行代码new对象

      现在用spring框架

        用sping框架控制对象的创建

    Spring IOC 第一个案例:

      -创建工程(java)      工程是基础

      -导入jar包(spring框架)     spring的功能

      -创建一个类         交给spring框架实例化和管理对象

      -创建一个清单文件      清单文件中指明,要管理和实例化哪些的对象--例WEB.xml

      -启动spring容器        读取和加载清单文件,根据清单文件内容做实例化

      -从spring容器中取出创建完毕的对象,备用

    常见错误

      有错误一定要先看错误提示,错误提示或多或少会给一些提示

      由Caused by:先找Caused by 从下往上找

      1.文件没有发现异常,因为spring。XML文件定位有问题

      

    总结:

      1.用spring可以做到解耦

        耦合分为三种:

          零耦合,类和类之间不存在任何关系

          抽象耦合:在一个类中耦合了另一个抽象类或接口

          具体耦合:在一个类中耦合了一个具体的实现类

        应该类中示例化对象,但是把控制权反转给spring容器,

      2.spring原理:spring如何做到解耦的

       能够做到解耦,是因为出现了一个xml清单文件

       首先spring容器启动的时候,先读取和解析xml文件

       并把xml文件的内容存储到map集合中

       循环遍历map集合,读取id的属性值和class的属性值

       读取到class属性的值会

       Object obj=Class.forName("包名.类名").newInstance();

       然后以ID的值得key,以obj位置,存储到另一个map集合中

       此时这个map集合就spring的容器集合

       通过id的值去容器中去取属性值

    用spring管理和实例化对象的四种方式

      方式一:默认构造函数(最常用)

  • 相关阅读:
    MongoDB笔记: 安装和常见问题
    Spring Boot方式的Dubbo项目
    Centos7安装Redis5.0.5并加入Systemd服务
    生成Nginx服务器SSL证书和客户端证书
    OpenSSL的证书, 私钥和签名请求(CSRs)
    迁移Git项目到Gitlab
    Ubuntu18.04 Server安装Nginx+Git服务和独立的svn服务
    ESXi6.5上的Ubuntu虚机在远程SSH时宕机
    Nginx访问路径添加密码保护
    从阿里云DATAV GeoAtlas接口抽取行政区划数据
  • 原文地址:https://www.cnblogs.com/cxkwkq/p/9174766.html
Copyright © 2011-2022 走看看