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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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

相关文章
|
2月前
|
缓存 Java Spring
源码解读:Spring如何解决构造器注入的循环依赖?
本文详细探讨了Spring框架中的循环依赖问题,包括构造器注入和字段注入两种情况,并重点分析了构造器注入循环依赖的解决方案。文章通过具体示例展示了循环依赖的错误信息及常见场景,提出了三种解决方法:重构代码、使用字段依赖注入以及使用`@Lazy`注解。其中,`@Lazy`注解通过延迟初始化和动态代理机制有效解决了循环依赖问题。作者建议优先使用`@Lazy`注解,并提供了详细的源码解析和调试截图,帮助读者深入理解其实现机制。
57 1
|
5月前
|
缓存 Java Spring
Spring循环依赖问题之Spring不支持构造器内的强依赖注入如何解决
Spring循环依赖问题之Spring不支持构造器内的强依赖注入如何解决
|
XML Java 数据格式
spring是如何初始化对象的?spring命名bean对象的方式
spring是如何初始化对象的?spring命名bean对象的方式
|
存储 安全 Java
浅析Spring中Bean的作用域及它们之间的区别?
在Spring中Bean的作用域是指Bean实例的生命周期及其可见范围。并提供了以下5种标准作用域:singleton、prototype、request、session、global session。
|
Java Spring 容器
探究Spring Bean的六种作用域:了解适用场景和使用方式
探究Spring Bean的六种作用域:了解适用场景和使用方式
|
Java 容器 Spring
解释下 Spring 支持的几种 bean 的作用域?
解释下 Spring 支持的几种 bean 的作用域?
101 0
|
Java Spring
第五篇 Spring 集合注入、作用域
第五篇 Spring 集合注入、作用域
166 0
|
Java Spring
spring学习42-属性注入中注入引用对象
spring学习42-属性注入中注入引用对象
81 0
spring学习42-属性注入中注入引用对象
|
Java Spring
spring学习41-属性注入注入数组和列表的说明
spring学习41-属性注入注入数组和列表的说明
103 0
spring学习41-属性注入注入数组和列表的说明
|
Java Spring 容器
解释Spring支持的几种bean的作用域?
解释Spring支持的几种bean的作用域?
解释Spring支持的几种bean的作用域?