Spring@Autowired注解

news2024/12/28 20:24:28

@Autowired顾名思义,就是自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property。当然,getter看个人需求,如果私有属性需要对外提供的话,应当予以保留。

因此,引入@Autowired注解,不要忘记配置文件要写:

然后才是在JavaBean的属性上加注解:

这里@Autowired注解的意思就是,当Spring发现@Autowired注解时,将自动在代码上下文中找到和其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方去。

有一个细节性的问题是,假设此时我把.xml文件的

行两行给去掉,再运行,会抛出异常,因为,@Autowired注解要去寻找的是一个Bean,Tiger和 Monkey的Bean定义都给去掉了,Spring容器找不到了自然抛出异常。那么,如果属性找不到对应的对象我不想让Spring容器抛 出异常,而就是显示null,可以吗?可以的,就是将@Autowired注解的required属性设置为false 即可:

@Autowired接口注入

上面的比较简单,我们只是简单注入一个Java类,那么如果有一个接口,有多个实现,Bean里引用的是接口名,又该怎么做呢?比如有一个Car接口:

 

不用说,一定是报错的,Car接口有两个实现类,Spring并不知道应当引用哪个实现类。这种情况通常有两个解决办法:

1、删除其中一个实现类,Spring会自动去base-package下寻找Car接口的实现类,发现Car接口只有一个实现类,便会直接引用这个实现类

2、实现类就是有多个该怎么办?此时可以使用@Qualifier注解,指明你要spring装载那个对象:

最后提一下,还有一个功能和@Autowired差不多的一个注解@inject,它是jsr330规范的注解,用它的话要导入相应的jar包,我们推荐使用@Autowired

<dependency>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
    <version>1</version>
</dependency>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1969663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧水务项目(一)django(drf)+angular 18 通过pycharm建立项目

一、环境准备 windows 10 pycharm python3.11 二、pycharm 创建django项目 三、建立requirements.txt 在根目录创建requirements.txt,也就是与manage.py同一目录下&#xff0c;先放下面几个依赖 Django djangorestframeworkpip install -r .\requirements.txt 更新下pip python…

仓颉语言 -- 网络编程

使用新版本 &#xff08;2024-07-19 16:10发布的&#xff09; 1、网络编程概述 网络通信是两个设备通过计算机网络进行数据交换的过程。通过编写软件达成网络通信的行为即为网络编程。 仓颉为开发者提供了基础的网络编程功能&#xff0c;在仓颉标准库中&#xff0c;用户可使用…

python3GUI--new音乐播放器!By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.启动2.MV推荐3.专辑详情页4.歌手详情页5.搜索结果页6.歌曲播放页7.我喜欢歌曲页8.我喜欢专辑页 三&#xff0e;思路&启发1.布局2.细节3.组件复用4.项目结构5.优化速度1.Nuitka1.显著提高性能&#xff1a;2.减小程序体积&am…

SPSSAU | 德尔菲专家法原理及案例实操分析

德尔菲专家法Delphi是一种结构化的预测和决策方法&#xff0c;主要用于收集和综合专家意见&#xff0c;进而做出相应决策的研究方法。比如在我们建立指标体系时&#xff0c;首先选择20个备选指标&#xff0c;然后寻找10位专家进行评价&#xff08;评价该20个指标是否具有可行&a…

聊聊ChatGLM6B的微调脚本及与Huggingface的关联

前言 本文首先分析微调脚本trainer.sh的内容&#xff0c;再剖析ChatGLM是如何与Huggingface平台对接&#xff0c;实现transformers库的API直接调用ChatGLM模型&#xff0c;最后定位到了ChatGLM模型的源码文件。 脚本分析 微调脚本&#xff1a; PRE_SEQ_LEN128 LR2e-2CUDA_V…

GeneAvatar: 3D 数字人编辑方案

定位: GeneAvatar是一种通用方法&#xff0c;用于编辑不同体积表示&#xff08;如NeRFBlendShape、INSTA、Next3D&#xff09;中的3D数字人&#xff0c;仅需一张2D图像即可实现友好的编辑操作。 核心功能: 支持使用2D编辑方法&#xff08;如拖拽式GAN、文本驱动编辑等&#x…

[Bugku] web-CTF-GET

GET 1.开启环境 2.根据内容得知在网址url后输入?whatflag

字符设备驱动基础—sys文件系统,udev介绍,驱动模块在内核空间注册设备

文章目录 sys文件系统介绍设计思想应用和功能 udev介绍主要功能工作原理使用 udevadm 工具 设备文件创建流程驱动程序的注册device_create函数详解示例代码效果图 sys文件系统介绍 sysfs 是 Linux 内核中的一种虚拟文件系统&#xff0c;它为用户空间和内核之间提供了一种统一的…

C语言小练习(贰)

上机 计算n以内所有正奇数的和 ? n值通过键盘输入 #include <stdio.h>int main() {int sum 0;int i 1;int n;printf("请输入一个范围\n");scanf("%d",&n);do{if(i % 2 ! 0)//判断奇数{sum i;}i;}while(i < n);//限定条件printf("范围…

Python连接数据库:JDBC不是唯一选择!

你是否曾困惑于如何在Python中连接数据库?也许你听说过JDBC,但不确定它是否适用于Python?别担心,本文将为你揭开Python数据库连接的神秘面纱! 目录 JDBC vs Python数据库连接Python连接数据库的正确姿势Python的数据库连接方案为什么Python不直接使用ODBC或JDBC&#xff1f;…

正点原子imx6ull-mini-Linux驱动之阻塞IO和非阻塞IO实验(12)

阻塞和非阻塞 IO 是 Linux 驱动开发里面很常见的两种设备访问模式&#xff0c;在编写驱动的时候 一定要考虑到阻塞和非阻塞。本章我们就来学习一下阻塞和非阻塞 IO&#xff0c;以及如何在驱动程序中 处理阻塞与非阻塞&#xff0c;如何在驱动程序使用等待队列和 poll 机制。 1&…

2024-08-01升级问题记录:升级ArcGIS for Android

升级以离线方式引用的arcgis for Android &#xff0c;从10.2.7到 10.2.9 1、下载完整的aar库 地址&#xff1a;JFroghttps://esri.jfrog.io/ui/native/arcgis/com/esri/arcgis/android/arcgis-android/10.2.9/ 2、替换旧的库&#xff0c;由于10.2.7是以jar方式引用&#xf…

Win10系统,使用钉钉会议共享屏幕的时候,别人看到的都是全黑或全白屏幕

环境&#xff1a; Win10系统 钉钉7.6.0 问题描述&#xff1a; Win10系统&#xff0c;使用钉钉会议共享屏幕的时候&#xff0c;别人看到的都是全黑或全白屏幕 解决方案&#xff1a; 在Win10系统上使用钉钉会议共享屏幕出现全黑或全白的问题&#xff0c;这可能与系统升级兼容…

盘点那些实用的开发技术!!

敏感信息加密操作&#xff0c;让开发的系统更加的安全可靠&#xff01;&#xff01;Jasypt&#xff08;Java Simplified Encryption&#xff09;是一个开源的Java库&#xff0c;用于简化加密操作。https://mp.weixin.qq.com/s/sPBV8Ej46YJsElImodRjAQ每个Web开发都应了解的&…

一个前后端分离架构的低代码开发平台,支持微服务架构,支持开发SAAS项目(附源码)

前言 在当前的企业软件开发领域&#xff0c;开发者常常面临着代码重复性高、开发效率低、项目周期长等挑战。现有的软件解-决方案往往难以满足快速变化的市场需求&#xff0c;特别是在SAAS项目、企业信息管理系统&#xff08;MIS&#xff09;、内部办公系统&#xff08;OA&…

淘天笔试0508-选择题

kmp中&#xff0c;匹配失败时&#xff0c;主串不动。模式串回退&#xff1a;最长前后缀的前缀位置。 bcabbccabbacaa abbac 比较3次&#xff0c;a匹配成功 一直到匹配abb&#xff0c;比较了5次. c和a不匹配&#xff0c;比较6次。 abb最长前后缀长度为0&#xff0c;模式串回退到…

昇思25天学习打卡营第18天|MindSporeK近邻算法实现红酒聚类学习- MindSpore进行KNN实验

基于MobileNetv2的垃圾分类 本文档主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 1、实验目的 了解熟悉垃圾分类应用代码的编写&#xff08;Python语言&#xff09;&a…

[Bugku] web-CTF-alert

1.开启环境 2.根据题目得知flag就在这里&#xff0c;F12查看一下源码 3.发现编码&#xff0c;使用Unicode解码

Java数组反转,添加,排序,查找

目录 1.数组反转 2.数组添加 3.排序的介绍 冒泡排序法 4.查找 1.数组反转 定义一个数组然后将它的第一个元素与最后一个元素调换位置。 i为数组的长度减一&#xff0c;也就是最后一个元素的下标&#xff0c;j为0&#xff0c;也就是数组中第一个元素的下标&#xff0c;然后…

MATLAB(13)蚁狮群优化BP模型数据读取ALO_BP

一、前言 为了使用蚁狮优化算法&#xff08;Ant Lion Optimizer, ALO&#xff09;来优化BP&#xff08;反向传播&#xff09;神经网络模型中的参数&#xff08;如学习率、权重初始化等&#xff09;&#xff0c;我们首先需要定义蚁狮优化算法来搜索最优参数&#xff0c;然后使用…