• SpringIOC01


    之前创建对象的方式是自己创建

     

    当添加新的需求时,比如获取MySQL用户,Oracle用户,我们需要在dao层添加类,并且改变service层创建的dao层对象,不断的修改代码

    当将service层的dao层对象添加了set方法设置成动态后,不需要去管理对象的创建,被动接受对象的注入,这就是IOC的原型

     

    一、理念

    Spring源码地址:https://docs.spring.io/spring-framework/docs/4.3.9.RELEASE/spring-framework-reference/html/overview.html#overview-distribution-zip

    Maven依赖:

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-webmvc</artifactId>
       <version>5.1.20.RELEASE</version>
    </dependency>
    <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-jdbc</artifactId>
       <version>5.1.20.RELEASE</version>
    </dependency>

    二、优点

    • 控制反转(IOC) 面向切面编程(AOP)

    • 支持事务的处理

    三、组成

    image-20220116165205237

    • Spring-Core:DI依赖注入,BeanFactory管理bean对象

    • Spring-Context:上下文模块,使它成为一个框架,提供了许多企业服务,消息,事件传播以及验证的支持。

    • Spring-Aop:有效的防止代码上功能的耦合

    • Spring-Dao:使用JDBC经常导致大量的重复代码,取得连接、创建语句、处理结果集,然后关闭连接、旧代码中迁移自定义工具类JDBCUtil 也让开发变得繁琐。Spring的Dao模块对传统的JDBC进行了抽象,还提供了一种比编程性更好的声明性事务管理方法。

    • Spring-Web:Web上下文模块建立于应用上下文模块之上,提供了WEB开发的基础集成特性,例如文件上传。另外,这个模块还提供了一些面向服务支持。利用Servlet listeners进行IOC容器初始化和针对Web的applicationcontext。

    • Spring Web MVC:构建Web应用提供了一个功能全面的MVC框架。

    • Spring-ORM:关系映射模块,ORM包为流行的“关系/对象”映射APIs提供了集成层,包括JDO,Hibernate和iBatis(MyBatis)。

    四、拓展

    基于Spring的Java开发

    image-20220116171921427

    • Spring Boot:

      快速开发的脚手架,约定大于配置

    • Spring Cloud

      基于SpringBoot实现的

    弊端:配置地狱

  • 相关阅读:
    四叉树编码存储的实现
    窗体之间传递值的几种方法
    常见的六种排序算法实现
    OracleHelper类
    c#动态加载dll文件
    STL学习系列九:Map和multimap容器
    STL学习系列八:Set和multiset容器
    STL学习系列七:优先级队列priority_queue容器
    STL学习系列六:List容器
    STL学习系列五:Queue容器
  • 原文地址:https://www.cnblogs.com/ty0910/p/15810846.html
Copyright © 2020-2023  润新知