首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在springbok中替换@Autowired不是一个好的做法呢?

在Spring Boot中,使用@Autowired注解来进行依赖注入是一种常见的做法。但是,替换@Autowired并不是一个好的做法,原因如下:

  1. 兼容性问题:@Autowired是Spring框架提供的注解,用于实现依赖注入。如果替换@Autowired,可能会导致与Spring框架的其他部分不兼容,从而引发一系列问题。
  2. 维护性问题:Spring Boot是基于Spring框架的快速开发框架,提供了很多便利的功能和约定。使用@Autowired可以更好地利用Spring Boot的自动配置和依赖注入机制,简化开发流程。如果替换@Autowired,可能会增加代码的复杂性,降低代码的可读性和可维护性。
  3. 社区支持问题:Spring Boot是一个非常活跃的开源项目,有着庞大的社区支持。使用@Autowired可以更好地与社区保持一致,获取更多的帮助和资源。如果替换@Autowired,可能会导致在社区中难以获得支持和解决问题。

综上所述,替换@Autowired不是一个好的做法,建议在Spring Boot中继续使用@Autowired来实现依赖注入。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

让人头痛大事务问题到底要如何解决?

解决办法 少用@Transactional注解 大家实际项目开发,我们在业务方法加上@Transactional注解开启事务功能,这是非常普遍做法,它被称为声明式事务。...@Transactional注解一般加在某个业务方法上,会导致整个业务方法都在同一个事务,粒度太粗,不好控制事务范围,是出现大事务问题最常见原因。 那我们该怎么办?...,这种直接方法调用做法事务不会生效,给正在坑朋友提个醒。...非事务执行 使用事务之前,我们都应该思考一下,是不是所有的数据库操作都需要在事务执行?...异步处理 还有一点也非常重要,是不是事务所有方法都需要同步执行?我们都知道,方法同步执行需要等待方法返回,如果一个事务同步执行方法太多了,势必会造成等待时间过长,出现大事务问题。

86920

拜托,被再让我优化大事务了,我头都裂了

解决办法 少用@Transactional注解 大家实际项目开发,我们在业务方法加上@Transactional注解开启事务功能,这是非常普遍做法,它被称为声明式事务。...@Transactional注解一般加在某个业务方法上,会导致整个业务方法都在同一个事务,粒度太粗,不好控制事务范围,是出现大事务问题最常见原因。 那我们该怎么办?...,这种直接方法调用做法事务不会生效,给正在坑朋友提个醒。...解决办法是分页处理,1000条数据,分50页,一次只处理20条数据,这样可以大大减少大事务出现。 非事务执行 使用事务之前,我们都应该思考一下,是不是所有的数据库操作都需要在事务执行?...异步处理 还有一点也非常重要,是不是事务所有方法都需要同步执行?我们都知道,方法同步执行需要等待方法返回,如果一个事务同步执行方法太多了,势必会造成等待时间过长,出现大事务问题。

66110
  • 思尐-ChatGPT:你不懂可以来问我啊!

    前言 Hello,大家,我是java小面。不知道大家有没有自己实现过一个注解来替换Spring原有注解经历,有人说Spring不是有注解给你用吗?干嘛还要特地去实现一个替换?...关于这个需求,小面当然不是闲得慌,我们做业务功能开发时候,往往只懂得它该怎么用,却不知道它为什么可以这么用,它具体又是怎样一个运行机制?...而当我们了解了它一个机制后,不仅保持住了对技术专研热情,还收获了成就感,让我们技术这条路上越走越远。 如何自定义依赖注入注解?...比如我重新定义一个Autowired注解且把它用于依赖注入。...向大家揭晓了为什么Autowired可以达到依赖注入原因。

    18530

    后端必读《Spring Boot实战》,企业级真实应用案例

    由于你们是共同开发,你需要依赖他接口,所以为了方便,你决定写一个Mock接口,返回一些人造假数据,等他开发完了之后再替换。...问题是公司里尤其是大公司里,服务开发和使用方往往不是一拨人。这种耦合很多时候会带来问题和麻烦。 正确做法是什么?正确做法是使用方不关心实例创建过程,直接把现成实例拿来用就行。...开发者使用容器实例时候,只需要通过配置就可以从Spring容器获得已经初始化实例,也就解除了其中耦合。...,而只是加上了一个@Autowired注解。...实践过程中将对项目功能进行拆分,使用Spring Boot分别实现各个独立功能点,比如图片上传功能、分页功能、登录功能、验证码功能等,并整合多个独立基础功能到一个完整功能模块,最终完成各个功能模块功能和交互

    50230

    不一样视角来学习Spring源码之容器与Bean---上

    BeanFactory自己为什么不能从bean定义扫描到@Autowired注解,并进行自动依赖注入?...为什么只有config被注册到了容器,config里面的@Bean注解并没有被解析,显然BeanFactory并没有解析这些注解能力,那么这些能力是who提供?...原始功能并没有那么丰富,但是可以通过后置处理器来增强BeanFactory功能 ---- BeanFactory自己为什么不能从bean定义扫描到@Autowired注解,并进行自动依赖注入?...,这个流程是不变,因此可以看做是一个模板过程 但是,如果我们依赖注入过程,一开始只支持了@Autowired注解解析,现在又要增加对 @Resource注解解析,我们可以写成下面这样子: public...这显然是非常错误做法,那么有没有什么方法可以很好改进这个错误做法?

    43810

    分享几个 SpringBoot 实用小技巧

    前言 最近分享一些源码、框架设计东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码居多;这次就分享一点接地气: SpringBoot 使用一些小技巧。...算不上多高大上东西,但都还挺有用。 屏蔽外部依赖 第一个是 屏蔽外部依赖,什么意思?...由于服务拆分,这些功能都是在其他应用以接口形式提供,单测还好我还可以利用 Mock 把它屏蔽掉。 但如果自己想把应用启动起来同时把自己相关代码跑一遍?...那如何解决问题?既可以本地调试也不用启动其他服务。 其实也可以利用单测做法,把其他外部依赖 Mock 掉就行了。...配置加密 下一个则是配置加密,这应该算是一个基本功能。 比如我们配置文件一些账号和密码,都应该是密文保存

    31310

    分享几个 SpringBoot 实用小技巧

    前言 最近分享一些源码、框架设计东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码居多;这次就分享一点接地气: SpringBoot 使用一些小技巧。...算不上多高大上东西,但都还挺有用。 屏蔽外部依赖 第一个是 屏蔽外部依赖,什么意思?...由于服务拆分,这些功能都是在其他应用以接口形式提供,单测还好我还可以利用 Mock 把它屏蔽掉。 但如果自己想把应用启动起来同时把自己相关代码跑一遍?...那如何解决问题?既可以本地调试也不用启动其他服务。 其实也可以利用单测做法,把其他外部依赖 Mock 掉就行了。...配置加密 下一个则是配置加密,这应该算是一个基本功能。 比如我们配置文件一些账号和密码,都应该是密文保存

    63500

    20180403_调bug_大地保险_jar包冲突

    文件 eclipse中新建一个工程,新建一个java类,类名和class文件名称一致,将class文件内容粘贴进来 然后再修改java文件内容。...这里主要是增加一些打印语句 2.3 eclipse打jar包 通过eclipse将2.2工程打成一个jar包(B),用解压工具(如压)解压 再将原本jar包(A),用解压缩工具解压得到文件夹...bbb.jar 2.5 替换jar 将修改后jar包替换掉原工程jar包。...是什么问题为什么本地是正常,但是测试服务器上就出异常了?这两个地方mongoDB 有什么不同吗? 然后去测试服务器上看看,发现测试服务器上mongoDB驱动有两个。...那么是不是因为jar包冲突导致?删掉一个试试,发现程序正常了 三、参考资料 1.java根据jar包反编译后修改再打包回jar做法

    40830

    @Component和@Bean以及@Autowired、@Resource

    以前就是要在xml配置文件里写上面这样bean,有一个类写一个bean(实在是太麻烦了。。。。。,不方便码代码,不方便阅读,不方便修改),一个xml配置文件写好多bean。...到这里,Spring发展史中注解替换xml配置文件故事就讲完了,是不是很简单!...是不是这就完事了,是的,没有但是,真的就完事了。 4. “但是”又回来了   是的,这里又有但是了。...假设这么一种情况,有几个class,我自己也不是不能写,但是写了周末就没时间去外滩闲逛了,就在这个时候,我发现alimama老铁们已经写好了同样功能class,我maven里import一下就完了...让我们以一点小干货结束今天故事   Spring管理Bean我们需要通过@Autowired或者@Resource导入来使用,这两区别啥你可以自己去搜索一下,这里只说一个问题。

    87530

    @Autowired报错4种解决方案和原因分析!

    大家,我是跃哥。相信大家平时使用Java 时候经常会用到 @Autowired,相当好用有木有。但是,不知道你使用时候有没有遇到过报错?...今天,跃哥就带你去了解下,这个注解几个报错解决方案,以及原因分析。 ?...报错原因分析 报错原因首先是因为 IDEA 强大报警机制,@Autowired 为 Spring 注解,含义是将某类动态注入到当前类,如下图所示: ?...解决方案4:使用@Resource注解 使用 @Resource 注解替换 @Autowired 注解也可以避免报错,它们对比效果如下: ?...总结 使用 @Autowired 注解导入 Mapper 对象报错原因,是因为 @Autowired 默认情况下,需要注入一个非 NULL 对象,而被 @Mapper 修饰类为 MyBatis 注解

    1.6K20

    Spring框架(十)Spring常用注解,知道这些,可以开始写项目了,建议收藏

    目录 为什么要使用注解 开启注解扫描方法 使用流程 常用注解 @Component: @Service:使用在业务层类上 问题: 解决: 实现: @Resource @Autowired 问题 解决...问题: 只使用@Service注解,和 A a=new A();效果是相同,创建一个没有初始化数据bean对象,但是实际生产环境很多时候 需要Spring容器帮我们创建一个带有初始化数据对象...使用:在有依赖关系属性上使用,比如A中有B属性, 则在B属性上声明,告诉Spring容器对象将Bbean 对象注入到Abean对象 注意:此注解是jdk官方注解,不是Spring...问题 一个类上面,写了一个注解@Component,那么这个类就会被创建为一个bean对象,那么在这个类里面如果有一个引用数据类型属性,那么需要依赖注入,也就是在这个属性上面写一个@Autowired...@Value 作用:用来替换配置文件属性注入。 使用:属性上声明,值为${“键名”} 示例: @Value(${“name”}) 注意:使用此注解注入,无需提供get/set方法。

    46740

    SpringMVC实现原理

    我们第一步模仿spring 思想,先找到我们要扫描哪些类,下面是 spring做法, ? 这是我做法: ?...为什么我通过  String scanPackage = config.getInitParameter("scanPackage"); 就能找到xml配置?...请参考这里 初始化细节; servlet 对象初始化时候,容器会给它提供一个 ServletConfig 对象  去读取 web.xml配置; 我们得到要扫描路径后,可以就需要实现spring...IOC了; 我们为了得到所有bean;拿到项目的包路径后,可以转换为文件路径,然后再从文件路径得到所有的类名; 得到类名后,就可以通过反射进行实例化了,然后将这些需要管理东西放到一个容器管理,...: 运行阶段, 将 controller 某个service接口字段 替换成 这个service实现类; 这样我们在编写代码时候是用使用接口调用方法,但实际运行时,就是它实现类调用这个方法了

    46760

    Spring框架(十)Spring常用注解,知道这些,可以开始写项目了

    : 4.3 @Resource 4.4@Autowired 4.4.1 问题 4.4.2解决 4.5@Value 4.6@Controller:使用在控制层类上,SpringMVC 1 为什么要使用注解...4.2.1问题: 只使用@Service注解,和 A a=new A();效果是相同,创建一个没有初始化数据bean对象,但是实际生产环境很多时候 需要Spring容器帮我们创建一个带有初始化数据对象...使用:在有依赖关系属性上使用,比如A中有B属性, 则在B属性上声明,告诉Spring容器对象将Bbean 对象注入到Abean对象 注意:此注解是jdk官方注解,不是Spring...,、、、 但是现在有一个问题,那就是属性上面写一个@Autowired,这个属性类型是一个接口,他下面的实现类有好多,并且每一个实现类都写了注解@Component,那么会使用哪一个类作为依赖注入?...@Resource,因为这个注解是根据名字 4.5@Value 作用:用来替换配置文件属性注入

    32930

    一个自己springMVC?

    我们第一步模仿spring 思想,先找到我们要扫描哪些类,下面是 spring做法, ? 这是我做法: ?...为什么我通过  String scanPackage = config.getInitParameter("scanPackage"); 就能找到xml配置?...请参考这里 初始化细节; servlet 对象初始化时候,容器会给它提供一个 ServletConfig 对象  去读取 web.xml配置; 我们得到要扫描路径后,可以就需要实现spring...IOC了; 我们为了得到所有bean;拿到项目的包路径后,可以转换为文件路径,然后再从文件路径得到所有的类名; 得到类名后,就可以通过反射进行实例化了,然后将这些需要管理东西放到一个容器管理...: 运行阶段, 将 controller 某个service接口字段 替换成 这个service实现类; 这样我们在编写代码时候是用使用接口调用方法,但实际运行时,就是它实现类调用这个方法了

    46540

    一个自己springMVC

    dispatchServilet 我们第一步模仿spring 思想,先找到我们要扫描哪些类,下面是 spring做法, 这是我做法为什么我通过  String scanPackage...= config.getInitParameter("scanPackage"); 就能找到xml配置?...请参考这里 初始化细节; servlet 对象初始化时候,容器会给它提供一个 ServletConfig 对象  去读取 web.xml配置; 我们得到要扫描路径后,可以就需要实现spring...IOC了; 我们为了得到所有bean;拿到项目的包路径后,可以转换为文件路径,然后再从文件路径得到所有的类名; 得到类名后,就可以通过反射进行实例化了,然后将这些需要管理东西放到一个容器管理,...: 运行阶段, 将 controller 某个service接口字段 替换成 这个service实现类; 这样我们在编写代码时候是用使用接口调用方法,但实际运行时,就是它实现类调用这个方法了

    1.2K140

    Spring 动态代理时是如何解决循环依赖为什么要使用三级缓存?

    前言 研究 『 Spring 是如何解决循环依赖时候,了解到 Spring 是借助三级缓存来解决循环依赖。 同样在上一节留下了疑问: 循环依赖为什么要使用三级缓存?...而不是使用二级缓存? AOP 动态代理对循环依赖有没有什么影响? 本篇文章也是围绕上面的内容进行展开。 笔记也不断整理,之前可能会有点杂乱。 循序渐进,看一看什么是循环依赖?...单例 Bean 创建过程 通过上面的流程,可以看出 Spring 创建 Bean 过程重点是 AbstractAutowireCapableBeanFactory 以下三个步骤: 实例化...A B 循环依赖 A 和 B 循环依赖场景: B populatedBean 查找依赖项 A 时候,从一级缓存虽然未获取到 A,但是发现 A 创建中。...二级缓存能否解决循环依赖 通过上面的图,仔细分析一下,其实把二级缓存拿掉, B 尝试获取 A 时候直接返回 A 实例,是不是也是可以? 答案是:可以! 但是为什么还是用三级缓存

    1.7K20

    一个非典型Spring循环依赖问题分析

    但是我相信我肯定不是一个踩这个坑,也一定不是最后一个,可能只是因为踩过的人比较少、鲜有记录罢了。因此这里权且记录一下这个坑,方便后人查看。...很多敏感同学心里肯定有些犯嘀咕,循环依赖这种触犯因果律事情怎么能发生?没错,这一切其实都并不是那么理所当然。 什么是依赖 其实,不分场景地、笼统地说A依赖B其实是不够准确、至少是不够细致。...因此正常情况下是不会出现违反因果律问题。 那什么是循环依赖调解?我理解是: 将 原本是弱依赖关系两者误当做是强依赖关系做法 重新改回弱依赖关系过程。...Spring循环依赖调解 为什么要依赖注入 网上经常看到很多手撸IOC容器入门科普文,大部分人只是将IOC容器实现成一个“存储Beanmap”,将DI实现成“通过注解+反射将bean赋给类field...刚开始学Spring时候,我一直想不通: 为什么Spring除了构造函数之外还要在Bean生命周期里有一个额外初始化方法? 这个初始化方法和构造函数到底有什么区别?

    44920

    一个非典型Spring循环依赖问题分析

    但是我相信我肯定不是一个踩这个坑,也一定不是最后一个,可能只是因为踩过的人比较少、鲜有记录罢了。因此这里权且记录一下这个坑,方便后人查看。...很多敏感同学心里肯定有些犯嘀咕,循环依赖这种触犯因果律事情怎么能发生?没错,这一切其实都并不是那么理所当然。...因此正常情况下是不会出现违反因果律问题。 那什么是循环依赖调解?我理解是: 将 原本是弱依赖关系两者误当做是强依赖关系做法 重新改回弱依赖关系过程。...- 5 - 为什么要依赖注入 网上经常看到很多手撸IOC容器入门科普文,大部分人只是将IOC容器实现成一个“存储Beanmap”,将DI实现成“通过注解+反射将bean赋给类field”。...刚开始学Spring时候,我一直想不通: 为什么Spring除了构造函数之外还要在Bean生命周期里有一个额外初始化方法? 这个初始化方法和构造函数到底有什么区别?

    97120

    循环依赖产生及规避

    但是我相信我肯定不是一个踩这个坑,也一定不是最后一个,可能只是因为踩过的人比较少、鲜有记录罢了。因此这里权且记录一下这个坑,方便后人查看。...很多敏感同学心里肯定有些犯嘀咕,循环依赖这种触犯因果律事情怎么能发生?没错,这一切其实都并不是那么理所当然。 3 什么是依赖 其实,不分场景地、笼统地说A依赖B其实是不够准确、至少是不够细致。...因此正常情况下是不会出现违反因果律问题。 那什么是循环依赖调解?我理解是: 将 原本是弱依赖关系两者误当做是强依赖关系做法 重新改回弱依赖关系过程。...5 为什么要依赖注入 网上经常看到很多手撸IOC容器入门科普文,大部分人只是将IOC容器实现成一个“存储Beanmap”,将DI实现成“通过注解+反射将bean赋给类field”。...刚开始学Spring时候,我一直想不通: 为什么Spring除了构造函数之外还要在Bean生命周期里有一个额外初始化方法? 这个初始化方法和构造函数到底有什么区别?

    50830
    领券