Spring学习之Spring启示录

这篇具有很好参考价值的文章主要介绍了Spring学习之Spring启示录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OCP开闭原则

什么是OCP?

  • OCP是软件七大开发原则当中最基本的一个原则:开闭原则
  • 对什么开?对拓展开
  • 对什么闭?对修改关系

如果为了一个功能拓展,需要修改之前运行良好的代码,那就是违背了OCP的开闭原则


OCP原则是最核心的,最基本的,其他的六个原则都是为了这个原则服务的。


OCP开闭原则的核心是什么?

只要你在拓展系统功能的时候,没有修改以前写好的代码,那么你就是符合OCP原则的。

反之,如果在拓展系统功能的时候,你修改了之前的代码,那么这个设计就是失败的,违背了OCP原则。

当进行系统功能拓展的时候,如果动了之前稳定的程序,修改了之前的程序,之前所有程序都需要进行重新测试,这是不想看到的,因为非常麻烦。

依赖倒置原则

Spring学习之Spring启示录,spring学习笔记,spring,学习
UserAction依赖了具体的UserServicelImpl
UserServiceImpl依赖了具体的UserDaoImplForMySQL

目前来说:上是依赖下的
凡是上依赖下的,都违背了依赖倒置原则


什么叫做符合依赖倒置原则?什么叫做遵守依赖倒置原则?
不再依赖了。表示符合依赖倒置原则。


依赖倒置原则的核心是什么?
倡导面向接口编程,面向抽象编程,不要面向具体编程


依赖倒置原则的目的?
降低程序的耦合度,提高拓展力

控制反转

当前程序的设计,显然即违背了OCP,又违背了DIP,怎么办?
可以采用“控制反转”这种编程思想来解决这个问题

什么是控制反转?
控制反转:IoC(Inversion of Control)


反转是什么?
反转的是两件事

  • 第一件事:我不在程序中采用硬编码的方式来new对象了。(new对象我不管了,new对象的权力都交出了)
  • 第二件事:我不在程序中采用硬编码的方式来维护对象的关系了。(对象之间关系的维护权,我也不管了,交出去了)

控制反转:是一种编程思想,或者叫做一种新型的设计模式。由于出现的比较新,没有被纳入GoF23种设计模式范围内。

依赖注入DI

Spring框架实现了控制反转IoC赭红思想

  • Spring框架可以帮你new对象
  • Spring框架可以帮你维护对象和对象之间的关系
  • Spring是一个实现了IoC思想的容器

控制反转的实现方式有很多种,其中比较重要的叫做:依赖注入(Dependency Injection简称DI)

控制反转是思想,依赖注入是这种思想的具体实现


依赖注入DI,又包括常见的两种方式:

  • 第一种:set注入
  • 第二种:构造方法注入

依赖注入中依赖是什么意思?注入是什么意思?
依赖:A对象和B对象的关系。
注入:是一种手段,通过这种手段,可以让A对象和B对象产生关系。
依赖注入:对象A和对象B之间的关系,靠注入的手段来维护。而注入包括:set注入和构造注入文章来源地址https://www.toymoban.com/news/detail-612383.html

到了这里,关于Spring学习之Spring启示录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring学习笔记2 Spring的入门程序

    Spring学习笔记1 启示录_biubiubiu0706的博客-CSDN博客 Spring官网地址:https://spring.io 进入github往下拉 用maven引入spring-context依赖 写spring的第一个程序 引入下面依赖,好比引入Spring的基本依赖   需要一个spring配置文件,idea提供了模板 名字随意 在Spring的配置文件中配置完 测试去Spring容器

    2024年02月08日
    浏览(41)
  • Spring声明式事务(Spring学习笔记十三)

            不推荐使用编程式事务  在Spring-dao.xml中配置声明式事务  结合aop实现事务的织入 分两步         第一步:          第二步:

    2024年04月10日
    浏览(39)
  • Spring学习笔记+SpringMvc+SpringBoot学习笔记

    1.1 概念 1、 POJO 是 Plain Old Java Object(简单老式Java对象)的缩写。它是指在Java开发中普通的Java对象,不依赖于特定的框架或技术。POJO 类型通常用于表示领域模型、数据传输对象(DTO)或实体对象等。 1.2 注解 1.1 SpringMVC概述 SpringMVC用于表现层开发,与Servlet相似,但使用上比

    2024年02月12日
    浏览(42)
  • Spring学习笔记之Spring IoC注解式开发

    注解的存在主要是为了简化XML的配置。Spring6倡导全注解开发 注解怎么定义,注解中的属性怎么定义? 注解怎么使用 通过反射机制怎么读取注解 注解怎么定义,注解中的属性怎么定义? 以上是自定义了一个注解:Component 该注解上面修饰的注解包括:Target注解和Retention注解,

    2024年02月12日
    浏览(44)
  • Spring -学习笔记

    概念: Spring 是一个开源的企业级应用程序开发框架,它为 Java 应用程序提供了全面的基础设施支持和丰富的功能模块。Spring 的目标是简化 Java 开发,提高开发效率、代码质量和可维护性。 Aim: 解决企业级应用开发的复杂性而存在; 核心: Spring的核心是提供一个容器。 这

    2024年02月11日
    浏览(31)
  • spring学习笔记八

    1、BookDao接口和实现类 2、配置文件 3、使用方法 4、总结 Array使用array和value节点注入 List使用list和value节点注入 Set使用set和value节点注入 Map使用map和entry节点中的key和value属性注入 Properties使用props中prop节点的key属性和内容注入

    2024年02月15日
    浏览(31)
  • spring学习笔记七

    1.1、BookDao接口和实现类 1.2、BookService接口和实现类 1.3、配置文件 1.4、使用方法 1.5、总结 在配置文件中添加autowire属性为byType spring会按照BookDao类型找到对应的Bean实现注入

    2024年02月16日
    浏览(32)
  • Spring5 学习笔记

    前置知识: 掌握Java基础知识(特别是反射) 掌握Java注解 掌握XML 掌握Maven 简化企业开发的复杂性 Spring理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架。 SSH:Struct2 + Spring + Hibernate SSM:Spring MVC + Spring + MyBatis 官网 : http://spring.io/ 官方下载地址

    2024年02月07日
    浏览(53)
  • 学习笔记-Spring事务

    学习的文章 小姐姐非要问我:spring编程式事务是啥? (qq.com) 一文搞懂什么是事务 - 知乎 (zhihu.com) 阿里3面:Spring声明式事务连环炮,让我措手不及。。 (qq.com) 带你读懂Spring 事务——事务的传播机制 - 知乎 (zhihu.com) spring 事务失效的 12 种场景_事务什么时候失效_hanjq_code的博客

    2024年02月06日
    浏览(38)
  • spring学习笔记三

    1.1、OrderDao接口与实现类 1.2、OrderFactory类 1.3、spring配置applicationContext.xml 1.4、使用 1.5、总结 在xml中配置class的工厂类,factory-method指定工厂实例方法 2.1、UserDao接口和实现类 2.2、UserDaoFactory类 2.3、配置applicationContext.xml 2.4、使用 2.5、总结 设置userFactory的Bean 设置userDao的Bean,配

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包