首页 > 其他分享 >spring为什么注入接口而不是实现类?

spring为什么注入接口而不是实现类?

时间:2023-06-02 16:45:08浏览次数:46  
标签:实现 spring 接口 测试阶段 失效 注入

首先,一般使用接口是很常用并且有益的变成技术。

其次,在spring中,你可以在运行过程中注入各种实现。一个很经典的情况就是在测试阶段,注入模拟的实现类。

===

1.网上说jdk动态代理基于实现接口。直接注入实现类会使aop失效。没有cglib可能真的就失效了。
2.解耦。假如有一天实现类的名称变了。每个依赖注入它的都要修改。而注入接口的不需要修改,只需要替换实现类就行。

===

 

标签:实现,spring,接口,测试阶段,失效,注入
From: https://www.cnblogs.com/super-chao/p/17452223.html

相关文章

  • springboot项目rabbitmq消费者消费json格式的String,出现无限循环抛出No method found
    转:springboot项目rabbitmq消费者消费json格式的String,出现无限循环抛出Nomethodfoundforclass[B     ......
  • [MyBatis]DAO层只写接口,不用写实现类
    团队开发一个项目,由老大架了一个框架,遇到了DAO层不用写接口了,我也是用了2次才记住这个事的,因为自己一直都是习惯于写DAO层的实现类,所以,习惯性的还是写了个实现类。于是遇到错误了。找不到那个方法。问了团队的人才知道,方法名和Mapper中配置的id名必须一样。实现:一、配置Spring集......
  • 【电商api接口淘宝系列分享】获得商品评论+获得淘宝店铺详情演示示例
    商品评论是电商平台中一个非常重要的功能,对于商家和消费者都具有重要的意义。以下是商品评论的重要性:帮助其他消费者做出购买决策:消费者在购物前往往会查看其他消费者对商品的评价,通过评论得知商品的好、坏之处,从而做出更准确的购买决策。提供商家改进产品的意见和建议:通过......
  • 【电商api接口系列分享】按关键字搜索商品演示示例
     在电商平台中,关键词推荐是提高用户购物体验和销售业绩的一个重要手段。它的重要性体现在以下几个方面:提升购物体验:通过关键词推荐,电商平台可以根据用户的搜索意图和行为来向其推荐相关的商品。这样可以帮助用户更快地找到自己需要的商品,提高购物体验和满意度。增加销售......
  • SpringMVC大文件分片上传/多线程上传
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1.通过form表单向后端发送请求         <formid="postForm"action="${pageContext.request.contextPath}/UploadServlet"method="post"e......
  • linux sh脚本启动springboot
    1、restart.sh#!/bin/bashAPP_NAME=xxxxx.jar#定义JAVA程序名LOG_FILE="$APP_NAME.log"#定义日志文件名称#查询进程并终止PID=`ps-ef|grep$APP_NAME|grep-vgrep|awk'{print$2}'`kill-9$PIDecho"$APP_NAME的进程$PID已经终止"#启动jar包,指......
  • 如果还不懂如何使用 Consumer 接口,来青岛我当面给你讲!
    背景没错,我还在做XXXX项目,还在与第三方对接接口,不同的是这次是对自己业务逻辑的处理。在开发过程中我遇到这么一个问题:表结构:一张主表A,一张关联表B,表A中存储着表B记录的状态。场景:第一步创建主表数据,插入A表;第二步调用第三方接口插入B表同时更新A表的状态。此时大家应该都......
  • 在线教育_Day02-_项目环境搭建和讲师管理接口开发
    一、数据库设计1.1创建数据库创建数据库:自定义数据库名1.2创建数据表导入资料中的gl_edu.sql文件,创建表1.3数据库设计规约以下规约只针对本模块,更全面的文档参考《阿里巴巴Java开发手册》:五、MySQL数据库1、库名与应用名称尽量一致2、表名、字段名必须使用小写字母或数字,禁止出......
  • [ASP.NET MVC 小牛之路]04 - 依赖注入(DI)和Ninject
    本文引用:https://www.cnblogs.com/willick/p/3223042.html为什么需要依赖注入在[ASP.NETMVC小牛之路]系列的理解MVC模式文章中,我们提到MVC的一个重要特征是关注点分离(separationofconcerns)。我们希望应用程序的各部分组件尽可能多的相互独立、尽可能少的相互依赖。我们的......
  • Spring事务在哪些情况下失效
    阅读文本大概需要3分钟。0x01:如果数据库不支持事务,则失效   因为事务是作用于数据库。例如使用MySQL且引擎是MyISAM,则事务会不起作用,因为MyISAM引擎本身不支持事务;如果改成InnoDB,则可以。0x02:Service类没有被Spring管理    因为Spring的事务是基于AOP,所以如果Service......