Spring實(shí)戰(zhàn)之獲得Bean本身的id操作示例
本文實(shí)例講述了Spring實(shí)戰(zhàn)之獲得Bean本身的id操作。分享給大家供大家參考,具體如下:
一 配置
<?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> <!-- Spring容器會(huì)檢測(cè)容器中所有Bean,如果發(fā)現(xiàn)某個(gè)Bean實(shí)現(xiàn)了BeanNameAware接口, Spring容器會(huì)在創(chuàng)建該Bean之后,自動(dòng)調(diào)用該Bean的setBeanName()方法, 調(diào)用該方法時(shí),會(huì)將該Bean的配置id作為參數(shù)傳給該方法 該方法的實(shí)現(xiàn)部分將Spring傳入的參數(shù)(Bean的配置id)賦為給該Chinese對(duì)象的 beanName實(shí)例變量,因此接下來即可通過該beanName實(shí)例變量來訪問Bean的配置id。--> <bean id="chinese" class="org.crazyit.app.service.Chinese"/> </beans>
二 Bean
package org.crazyit.app.service; import org.springframework.beans.factory.BeanNameAware; public class Chinese implements BeanNameAware { // 保存部署該Bean時(shí)指定的id屬性 private String beanName; public void setBeanName(String name) { this.beanName = name; } public void info() { System.out.println("Chinese實(shí)現(xiàn)類" + ", 部署該Bean時(shí)指定的id為" + beanName); } }
三 測(cè)試類
package lee; import org.springframework.context.*; import org.springframework.context.support.*; import org.crazyit.app.service.*; public class SpringTest { public static void main(String[] args) { // 創(chuàng)建Spring容器,容器會(huì)自動(dòng)預(yù)初始化所有Bean實(shí)例 ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); Chinese chin = ctx.getBean("chinese" , Chinese.class); chin.info(); } }
四 測(cè)試結(jié)果
Chinese實(shí)現(xiàn)類, 部署該Bean時(shí)指定的id為chinese
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Spring框架入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
java代碼獲取數(shù)據(jù)庫表里數(shù)據(jù)的總數(shù)操作
這篇文章主要介紹了java代碼獲取數(shù)據(jù)庫表里數(shù)據(jù)的總數(shù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08使用原生JDBC動(dòng)態(tài)解析并獲取表格列名和數(shù)據(jù)的方法
這篇文章主要介紹了使用原生JDBC動(dòng)態(tài)解析并獲取表格列名和數(shù)據(jù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08springboot多環(huán)境進(jìn)行動(dòng)態(tài)配置的方法
這篇文章主要介紹了springboot多環(huán)境下如何進(jìn)行動(dòng)態(tài)配置,本文主要分享了如何在springboot的項(xiàng)目中使用多環(huán)境配置,重點(diǎn)是”spring.profiles.active“屬性,需要的朋友可以參考下2022-06-06圖解Java經(jīng)典算法插入排序的原理與實(shí)現(xiàn)
插入排序的算法描述是一種簡(jiǎn)單直觀的排序算法。其原理是通過構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。本文將用Java語言實(shí)現(xiàn)插入排序算法并進(jìn)行可視化,感興趣的可以了解一下2022-09-09Spring Boot項(xiàng)目使用Flyway的詳細(xì)教程
這篇文章主要介紹了Spring Boot項(xiàng)目使用Flyway,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Java動(dòng)態(tài)代理語法Proxy類原理詳解
這篇文章主要介紹了Java動(dòng)態(tài)代理語法Proxy類原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04從零開始使用IDEA創(chuàng)建SpringBoot項(xiàng)目(圖文)
這篇文章主要介紹了從零開始使用IDEA創(chuàng)建SpringBoot項(xiàng)目(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05淺談Ribbon、Feign和OpenFeign的區(qū)別
這篇文章主要介紹了淺談Ribbon、Feign和OpenFeign的區(qū)別。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06