Spring的注解

聲明Bean的注解

?@Component
?@Controller
?@Service
?@Repository
后三種為@Component的別名,之所以不同是因為可讀性的考慮

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Controller {@AliasFor(//別名annotation = Component.class)String value() default "";
}

他們都是只有一個value屬性。value屬性用來指定bean的id,也就是bean的名字。
如果把value屬性徹底去掉,spring會被Bean自動取名嗎?會的。并且默認名字的規律是:Bean類名首字母小寫即可。

負責注入的注解

@Value

當屬性的類型是簡單類型時,可以使用@Value注解進行注入。

@Autowired

注解可以用來注入非簡單類型。被翻譯為:自動連線的,或者自動裝配。
單獨使用@Autowired注解,默認根據類型裝配。【默認是byType】?如果想根據名稱裝配,需要配合@Qualifier注解一起用。
@Autowired可以放在
o構造方法上
o方法上 set方法
o形參上
o屬性上
o注解上

@Autowired注解和@Qualifier注解聯合起來才可以根據名稱進行裝配,在@Qualifier注解中指定Bean名稱。

   @Autowired@Qualifier("userDaoForOracle") // 這個是bean的名字。public void setUserDao(UserDao userDao) {this.userDao = userDao;}

@Qualifier的使用
一,默認是Bean Name
每個被 @Component, @Service 等注解的類,Spring 都會將其注冊為一個 Bean,并默認使用類名首字母小寫作為其 Bean Name(標識符)

@Resource

@Resource注解是JDK擴展包中的!!
可出現在類,屬性,方法

<dependency><groupId>jakarta.annotation</groupId><artifactId>jakarta.annotation-api</artifactId><version>2.1.1</version>
</dependency>

@Resource注解:默認byName注入,沒有指定name時把屬性名當做name,根據name找不到時,才會byType注入。byType注入時,某種類型的Bean只能有一個。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96726.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96726.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96726.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UVM寄存器模型與通道機制

接續UVM基礎入門文章。前言重點講述UVM常用的接口連接方式。寄存器模型&#xff1a;UVM寄存器模型&#xff08;Register Model&#xff09;是一組高級抽象的類&#xff0c;用于對DUT&#xff08;Design Under Test&#xff09;中具有地址映射的寄存器和存儲器進行建模&#xff…

12.NModbus4在C#上的部署與使用 C#例子 WPF例子

一、Modbus TCP/IP是什么Modbus TCP/IP是一種基于TCP/IP協議的工業自動化通信協議。它在Modbus協議的基礎上&#xff0c;利用TCP/IP網絡進行數據傳輸&#xff0c;使得工業設備之間的通信更加便捷和高效。常用的Modbus功能碼包括0x03&#xff08;讀保持寄存器&#xff09;、0x06…

硬件開發2-匯編1(ARMv7-A)- 基本概要

一、匯編基本概要1、ARM數據和指令類型2、ARM字節順序即可大端存儲也可小端存儲&#xff0c;默認小端存儲&#xff08;不建議修改&#xff09;、kernel&#xff08;內核&#xff09;中的&#xff0c;CPSR&#xff08;當前程序狀態寄存器&#xff09;可修改大小端存儲3、ARM處理…

Linux中進程和線程常用的API詳解

進程與線程基礎及 Linux 進程間通信&#xff08;IPC&#xff09;詳解 一、程序與進程 1. 程序&#xff08;靜態文件&#xff09; 程序是存儲在磁盤上的可執行文件&#xff0c;是靜態實體&#xff0c;不占用 CPU、內存等運行時資源&#xff0c;僅占用磁盤空間。不同操作系統的可…

VS Code 插件開發教程

VS Code 插件開發教程 概述 Visual Studio Code&#xff08;簡稱 VS Code&#xff09;是一款由 Microsoft 開發的開源輕量級編輯器&#xff0c;支持跨平臺&#xff08;Windows、macOS、Linux&#xff09;。 其最大的優勢之一是強大的插件系統&#xff0c;開發者可以通過編寫擴…

Docker技術解析

1.Docker安裝 1.如果Ubuntu自帶的Docker版本太低&#xff0c;我們需要卸載舊版本并安裝新的 sudo apt-get remove docker docker-engine docker.io containerd runc2. 備份原有軟件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak3.選擇合適的鏡像源 # 或者使用…

TCP套接字的使用

Java中使?TCP協議通信,使用ServerSocket來建立鏈接,使用Socket進行通信.ServerSocketServerSocket是創建TCP服務端Socket的api,主要方法:方法簽名說明ServerSocket(int port)創建一個服務端流套接字Socket,并綁定指定端口Socket accpet()開始監聽指定端口,有客戶端鏈接后,返回…

linux執行systemctl enable xxxxx 報 Failed to execute operation: Bad message

linux執行systemctl enable redis.service 報 Failed to execute operation: Bad message 如果在執行 systemctl enable 命令時遇到 "Failed to execute operation: Bad message" 錯誤&#xff0c;可能是由于以下幾個原因導致的。你可以按照以下步驟進行排查和解決&a…

終端之外:解鎖Linux命令行的魔法與力量

Linux命令行的核心理念 在記憶具體的指令之前&#xff0c;先理解它的哲學&#xff1a; 一切皆文件 &#xff1a;硬件設施&#xff0c;進程&#xff0c;目錄…在Linux中幾乎所有資源都被抽象為文件&#xff0c;這意味著你可以通過同樣的指令&#xff08;如 ench ,cat&#xff…

CSS 動畫實戰:實現電商中“加入購物車”的拋物線效果

引言 在電商網站中&#xff0c;“加入購物車”動畫 是提升用戶體驗的經典交互之一。一個小小的商品圖標從頁面飄向購物車&#xff0c;不僅直觀地反饋了操作結果&#xff0c;還能增加趣味性與沉浸感。 實現這一效果的方式有很多&#xff0c;比如 JavaScript 計算路徑 動畫&…

深度學習之損失函數

深度神經網絡由多層網絡連接而成&#xff0c;網絡連接處防止線性直接相關&#xff0c;采用非線性函數進行逐層隔離&#xff0c;真正實現每層參數的獨立性&#xff0c;也就是只對本層提取到的特征緊密相關。因為如果是線性函數直接相連就成了一層中間網絡了&#xff0c;只不過參…

Oracle OCP認證考試題目詳解082系列第32題

考察知識點:Oracle profiles(配置文件) 英語題目 32.Which are two of the account management capabilities that can be configured using Oracle profiles? A.the number of days for which an account may be logged in to one or more sessions before it is locked…

Docker 部署 MongoDB:單節點與副本集的最佳實踐

Docker 部署 MongoDB&#xff1a;單節點與復制集的企業級最佳實踐引言&#xff1a;容器化有狀態服務的范式轉變第一部分&#xff1a;基礎概念與生產環境考量1.1 核心 Docker 概念深度解析1.2 Volume vs. Bind Mount&#xff1a;生產環境抉擇1.3 獲取與驗證官方鏡像官方鏡像默認…

公司本地服務器上搭建部署的辦公系統web項目網站,怎么讓外網訪問?有無公網IP下的2種通用方法教程

本地物理服務器計算機搭建部署應用包括網站等&#xff0c;然后在局域網內的訪問外&#xff0c;還需要提供外地的連接訪問&#xff0c;這是比較常見的跨網通信需求。如在家或在外訪問公司內部辦公系統網站&#xff0c;這就涉及內網IP和公網IP的轉換&#xff0c;或域名的解析使用…

整體設計 之 緒 思維導圖引擎 之 引 認知系統 之 引 認知系統 之 序 認知元架構 之6 拼句 之1 (豆包助手 之8)

摘要(AI生成)認知演進 中 交流句子所包含的 信息描述框架 < i , j > ( m , n )本體論基礎&#xff08;數學約束&#xff09;&#xff1a; n n元&#xff08;維度&#xff09;n次&#xff08;層次&#xff09;n個&#xff08;方程&#xff09;n場&#xff08;場景&am…

微軟的兩個調試器debugpy和python

在生成launch.json文件時&#xff0c;新版本的python擴展解釋器類型是debugpy&#xff0c;而不是就版本的type:python&#xff0c;那么兩者的區別在哪&#xff1f;1. 歷史演變背景&#xff08;1&#xff09;舊版&#xff08;Python擴展 < 2021.09&#xff09;使用 "typ…

【連載2】C# MVC 自定義錯誤頁設計:404/500 處理與 SEO 優化

在開發ASP.NET MVC 應用時&#xff0c;自定義錯誤頁是提升用戶體驗和 SEO 表現的重要環節。默認的錯誤頁不僅不美觀&#xff0c;還可能泄露技術細節&#xff0c;影響用戶體驗和搜索引擎排名。 實現自定義錯誤頁的完整代碼 配置 Web.config 自定義錯誤頁 在 ASP.NET 中&#…

mcp解讀——概述及整體架構

概念介紹 什么是模型上下文協議 &#xff08;MCP&#xff09; MCP&#xff08;模型上下文協議&#xff09;是一種用于將 AI 應用程序連接到外部系統的開源標準。 使用 MCP&#xff0c;Claude 或 ChatGPT 等人工智能應用程序可以連接到數據源&#xff08;例如本地文件、數據庫&a…

AI 賦能云端運維:基于 MCP 協議深度集成 Codebuddy CLI 與騰訊云 Lighthouse 的實戰全解

摘要 在云計算技術飛速演進的今天&#xff0c;服務器的管理與運維正經歷著從傳統手動操作、腳本自動化到智能化、對話式交互的深刻變革。本文將系統性地、全流程地展示如何將騰訊云 Lighthouse 輕量應用服務器與尖端的 AI 編程助手 Codebuddy CLI 進行深度集成。我們將從服務器…

【Proteus仿真】【51單片機】教室燈光控制器設計

文章目錄一、功能簡介二、軟件設計三、實驗現象聯系作者一、功能簡介 本項目使用Proteus8仿真51單片機控制器&#xff0c;使用LCD1602液晶、DS1302時鐘模塊、人體紅外感應模塊、開關LED指示燈、繼電器、PCF8591 ADC模塊、光敏傳感器、按鍵模塊等。 主要功能&#xff1a; 系統運…