一键注入 Spring 成员变量,顺序编程

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 介绍了一款针对Spring框架开发的插件,旨在解决开发中频繁滚动查找成员变量注入位置的问题。通过一键操作(如Ctrl+1),该插件可自动在类顶部添加`@Autowired`注解及其成员变量声明,同时保持光标位置不变,有效提升开发效率和代码编写流畅度。适用于IntelliJ IDEA 2023及以上版本。

提高开发效率:一键注入 Spring 成员变量,告别跳转

在日常开发中,是否遇到过这样的情况?一个类动辄上千行代码,当需要在方法中使用某个依赖时,通常我们需要先滚动到类的顶部,然后手动添加类似这样的注解:

java

代码解读

复制代码

@Autowired
private IXxxService xxxService;

紧接着,还要回到之前写代码的位置,继续完成未完成的逻辑。然而,问题随之而来:

  • 在滚动寻找代码位置时,容易打乱思路
  • 回到方法后,可能已经忘了当前的上下文,需要额外花时间重新整理思路。
  • 这是一个很小但是却让人很不爽的点儿,本文就是为了解决这个痛点儿

实际开发中的问题场景

比如,在以下代码片段中,我们发现缺少了一个依赖:

图 1:缺少成员变量时的场景

这时,我们需要注入 memberRewardSendServiceRemote 成员变量。按照传统操作步骤:

  1. 滚动到类的顶部。
  2. 添加如下代码:

java

  1. 代码解读
  2. 复制代码
@Autowired
private MemberRewardSendServiceRemote memberRewardSendServiceRemote;
  1. 滚动回到之前的位置。

但在这个过程中,很可能会出现以下问题:

  • 上下文丢失:滚动过程中可能让你分心,忘记原本的逻辑要点。
  • 效率低下:对于代码量大的类,频繁滚动会让开发节奏变得拖沓。
  • 影响思维流畅性:思路被打断,可能需要额外时间重新集中注意力。

高效开发的解决方案:一键注入 @Autowired 成员变量

为了解决这一痛点,我设计了一款插件,它的核心思想是:写代码时不跳转,所有操作在当前窗口、当前行完成,不打乱思路

插件功能演示

在需要注入依赖的地方,直接按下快捷键 Ctrl+1,插件会自动完成以下操作:

  • 在类的顶部添加 @Autowired 注解及成员变量声明。
  • 保持光标位置不变,无需手动滚动和跳转。

效果如下图所示:

图 2:一键插入成员变量后,代码依然停留在当前行

这种方法让我们在开发过程中实现了思维的无缝流动,极大提升了效率。


插件核心优势

  1. 无需跳转:不再需要滚动到类的顶部,直接在当前窗口完成操作。
  2. 保持思路流畅:操作简单直接,不干扰开发节奏。
  3. 适配各种项目场景:支持注入 Spring Bean类型的成员变量,例如 @Autowired,快速无跳转创建各种VO实体等。
  4. 减少手动操作:自动生成代码,避免手动拼写变量名和注解。

安装与使用

安装步骤

  1. 打开 IntelliJ IDEA 的插件市场。
  2. 搜索关键词 Quick Create仅支持IDEA 2023版本及以上。
  3. 点击 Install 安装插件。
  4. 如果找到不插件,也可以手动下载安装。地址: plugins.jetbrains.com/plugin/2586…

主要功能
可以在当前缺失的类、方法上使用Alt+Enter,快速执行创建。
也可以使用如下快捷键:
  • 快速创建实体:   Ctrl+1 当前确实的类生成,无需跳转,快捷创建Bean。
  • 快速创建接口:   Ctrl+2 快速生成接口,无需跳转。
  • 快速生成成员变量Ctrl+3 根据当前缺失的成员变量,快速生成@Autowird注解的成员变量,无跳转。
  • 快速创建方法:   Ctrl+4 根据当前行代码生成方法及实现,无需跳转,快速创建方法。


总结

编程开发是一个注重高效与思路连贯的过程,而不必要的跳转会让我们浪费大量时间,同时打断我们的开发思维。通过这样的插件,我们可以保持专注,高效完成代码编写任务。如果你也经常为成员变量注入的问题感到头疼,不妨试试这款工具,为自己的开发效率加速!


转载来源:https://juejin.cn/post/7438966792934359091

相关文章
|
4月前
|
Java Spring
在使用Spring的`@Value`注解注入属性值时,有一些特殊字符需要注意
【10月更文挑战第9天】在使用Spring的`@Value`注解注入属性值时,需注意一些特殊字符的正确处理方法,包括空格、引号、反斜杠、新行、制表符、逗号、大括号、$、百分号及其他特殊字符。通过适当包裹或转义,确保这些字符能被正确解析和注入。
267 3
|
4月前
|
Java 测试技术 程序员
为什么Spring不推荐@Autowired用于字段注入?
作为Java程序员,Spring框架在日常开发中使用频繁,其依赖注入机制带来了极大的便利。然而,尽管@Autowired注解简化了依赖注入,Spring官方却不推荐在字段上使用它。本文将探讨字段注入的现状及其存在的问题,如难以进行单元测试、违反单一职责原则及易引发NPE等,并介绍为何Spring推荐构造器注入,包括增强代码可读性和维护性、方便单元测试以及避免NPE等问题。通过示例代码展示如何将字段注入重构为构造器注入,提高代码质量。
134 1
|
19天前
|
XML 监控 前端开发
Spring Boot中的WebFlux编程模型
Spring WebFlux 是 Spring Framework 5 引入的响应式编程模型,基于 Reactor 框架,支持非阻塞异步编程,适用于高并发和 I/O 密集型应用。本文介绍 WebFlux 的原理、优势及在 Spring Boot 中的应用,包括添加依赖、编写响应式控制器和服务层实现。WebFlux 提供高性能、快速响应和资源节省等优点,适合现代 Web 应用开发。
67 15
|
23天前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
4月前
|
Java 数据库连接 Spring
【2021Spring编程实战笔记】Spring开发分享~(下)
【2021Spring编程实战笔记】Spring开发分享~(下)
41 1
|
4月前
|
缓存 Java Spring
源码解读:Spring如何解决构造器注入的循环依赖?
本文详细探讨了Spring框架中的循环依赖问题,包括构造器注入和字段注入两种情况,并重点分析了构造器注入循环依赖的解决方案。文章通过具体示例展示了循环依赖的错误信息及常见场景,提出了三种解决方法:重构代码、使用字段依赖注入以及使用`@Lazy`注解。其中,`@Lazy`注解通过延迟初始化和动态代理机制有效解决了循环依赖问题。作者建议优先使用`@Lazy`注解,并提供了详细的源码解析和调试截图,帮助读者深入理解其实现机制。
114 1
|
4月前
|
XML Java 数据库连接
【2020Spring编程实战笔记】Spring开发分享~(上)
【2020Spring编程实战笔记】Spring开发分享~
66 0
|
6月前
|
XML Java 数据格式
Spring5入门到实战------4、IOC容器-Bean管理XML方式、集合的注入(二)
这篇文章是Spring5框架的实战教程,主题是IOC容器中Bean的集合属性注入,通过XML配置方式。文章详细讲解了如何在Spring中注入数组、List、Map和Set类型的集合属性,并提供了相应的XML配置示例和Java类定义。此外,还介绍了如何在集合中注入对象类型值,以及如何使用Spring的util命名空间来实现集合的复用。最后,通过测试代码和结果展示了注入效果。
Spring5入门到实战------4、IOC容器-Bean管理XML方式、集合的注入(二)
|
6月前
|
XML Java 数据格式
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
这篇文章是Spring5框架的AOP切面编程教程,通过XML配置方式,详细讲解了如何创建被增强类和增强类,如何在Spring配置文件中定义切入点和切面,以及如何将增强逻辑应用到具体方法上。文章通过具体的代码示例和测试结果,展示了使用XML配置实现AOP的过程,并强调了虽然注解开发更为便捷,但掌握XML配置也是非常重要的。
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
|
6月前
|
Java Spring XML
掌握面向切面编程的秘密武器:Spring AOP 让你的代码优雅转身,横切关注点再也不是难题!
【8月更文挑战第31天】面向切面编程(AOP)通过切面封装横切关注点,如日志记录、事务管理等,使业务逻辑更清晰。Spring AOP提供强大工具,无需在业务代码中硬编码这些功能。本文将深入探讨Spring AOP的概念、工作原理及实际应用,展示如何通过基于注解的配置创建切面,优化代码结构并提高可维护性。通过示例说明如何定义切面类、通知方法及其应用时机,实现方法调用前后的日志记录,展示AOP在分离关注点和添加新功能方面的优势。
86 0