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ì)檢測容器中所有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);
}
}
三 測試類
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();
}
}
四 測試結(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使用@EnableEurekaServer實(shí)現(xiàn)自動(dòng)裝配詳解
這篇文章主要介紹了Java使用@EnableEurekaServer實(shí)現(xiàn)自動(dòng)裝配過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10
Java實(shí)現(xiàn)選擇排序算法的實(shí)例教程
這篇文章主要介紹了Java實(shí)現(xiàn)選擇排序算法的實(shí)例教程,選擇排序的時(shí)間復(fù)雜度為О(n²),需要的朋友可以參考下2016-05-05
Java源碼解析重寫鎖的設(shè)計(jì)結(jié)構(gòu)和細(xì)節(jié)
這篇文章主要為大家介紹了Java源碼解析重寫鎖的設(shè)計(jì)結(jié)構(gòu)和細(xì)節(jié),這小節(jié)我們以共享鎖作為案列,自定義一個(gè)共享鎖。有需要的朋友可以借鑒參考下2022-03-03
Idea打包springboot項(xiàng)目沒有.original文件解決方案
這篇文章主要介紹了Idea打包springboot項(xiàng)目沒有.original文件解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Spring 事務(wù)事件監(jiān)控及實(shí)現(xiàn)原理解析
本文首先會(huì)使用實(shí)例進(jìn)行講解Spring事務(wù)事件是如何使用的,然后會(huì)講解這種使用方式的實(shí)現(xiàn)原理。感興趣的朋友跟隨小編一起看看吧2018-09-09
淺談resultMap的用法及關(guān)聯(lián)結(jié)果集映射
這篇文章主要介紹了resultMap的用法及關(guān)聯(lián)結(jié)果集映射操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
淺談springboot @Repository與@Mapper的區(qū)別
本文主要介紹了淺談springboot @Repository與@Mapper的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

