为什么在springboot中使用autowired的时候它黄色警告说不建议使用字段注入

news/2025/2/6 17:24:21 标签: spring boot, java, spring, 后端

byType找到多种实现类导致报错

@Autowired: 通过byType 方式进行装配, 找不到或是找到多个,都会抛出异常

我们在单元测试中无法进行字段注入

字段注入通常是 private 修饰的,Spring 容器通过反射为这些字段注入依赖。然而,在单元测试中,我们不能直接访问或赋值这些私有字段

所以为了在单元测试用也能注入我们的Bean对象,我们最好用构造注入

无法定义 final 字段

  • 字段注入的问题: 使用字段注入时,字段必须是非 final 的,这违反了不可变性设计的最佳实践。
  • 构造函数注入的优势: 构造函数注入允许将依赖声明为 final,确保依赖在对象构造后不可更改。
@Component
public class MyService {
    private final MyRepository myRepository;

    public MyService(MyRepository myRepository) {
        this.myRepository = myRepository;
    }
}

Spring 的初始化顺序可能导致问题

  • 字段注入的问题: 字段注入依赖于 Spring 的反射机制在对象实例化后注入依赖。这可能导致在依赖注入完成之前尝试访问字段,从而引发 NullPointerException
  • 构造函数注入的优势: 构造函数注入在对象创建时就完成了所有依赖的初始化,避免了初始化顺序问题。

http://www.niftyadmin.cn/n/5843208.html

相关文章

在ubuntu下使用ovpn文件连接服务器,并设置开机启动

1. 安装openvpn sudo apt install openvpn2. 将 ovpn 文件拷贝到 /etc/openvpn/client 目录 sudo cp /path/to/your-config.ovpn /etc/openvpn/client/your-config.conf3. 设置开机启动 sudo systemctl enable openvpn-clientyour-config.service4. 启动 sudo systemctl st…

【Elasticsearch】post_filter

post_filter是 Elasticsearch 中的一种后置过滤机制,用于在查询执行完成后对结果进行过滤。以下是关于post_filter的详细介绍: 工作原理 • 查询后过滤:post_filter在查询执行完毕后对返回的文档集进行过滤。这意味着所有与查询匹配的文档都…

10.单例模式 (Singleton Pattern)

单例模式的定义 单例模式(Singleton Pattern) 是一种创建型设计模式,确保一个类在整个程序生命周期中只能有一个实例,并提供一个全局访问点。 特点: 唯一性:保证系统中某个类只能有一个实例。全局访问点…

【算法篇】贪心算法

目录 贪心算法 贪心算法实际应用 一,零钱找回问题 二,活动选择问题 三,分数背包问题 将数组和减半的最小操作次数 最大数 贪心算法 贪心算法,是一种在每一步选择中都采取当前状态下的最优策略,期望得到全局最优…

十。svm运用

import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC # 创建自定义数据集 np.random.seed(42) X…

七。自定义数据集 使用tensorflow框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测

import tensorflow as tf import numpy as np # 自定义数据集类 class CustomDataset(tf.data.Dataset): def __init__(self, x_data, y_data): self.x_data tf.convert_to_tensor(x_data, dtypetf.float32) self.y_data tf.convert_to_tensor(y_data, …

无人机测绘技术,为行业开启解决方案新篇章!

随着国土建设的专业化程度不断提升和工作负荷的持续加重,传统测绘方法的局限性也日益显露。它们不仅容易受环境及恶劣气候的制约,还面临着人力资源短缺的挑战,难以适应当前高度专业化的需求。而无人机测绘技术凭借其高度的灵活性和强大的适应…

网络安全--边界安全-防火墙

随着安全技术的发展,无论是黑客的攻击能力,还是安全人员的防御技术都上升到了一个新的层次,而且安全威胁越来越大,越来越隐蔽,本篇就边界安全另一利器----防火墙进行讲述。见到过不少厂家的防火墙设备,有些…