国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

Spring中Bean的命名方式代碼詳解

2024-07-13 10:16:22
字體:
供稿:網(wǎng)友

本文主要描述的是關(guān)于spring中bean的命名方式,通過簡單實(shí)例向大家介紹了六種方式,具體如下。

一般情況下,在配置一個Bean時需要為其指定一個id屬性作為bean的名稱。id在IoC容器中必須是唯一的,此外id的命名需要滿足xml對id的命名規(guī)范。

在實(shí)際情況中,id命名約束并不會給我們帶來影響。但是如果用戶確實(shí)希望用到一些特殊字符來對bean進(jìn)行命名,那么可以使用bean的name屬性來進(jìn)行命名,name屬性沒有字符上的限制,幾乎可以使用任何字符。

每個Bean可以有一個或多個id,我們把第一個id稱為“標(biāo)識符”,其余id叫做“別名”,這些id在IoC容器中必須唯一。

首先來介紹一下Beanid的命名規(guī)則:

1.遵循XML命名規(guī)范
2.由字母,數(shù)字,下劃線組成
3.駝峰式,首個單詞字母小寫,從第二個單詞開始首字母大寫。

接下來我們使用具體的例子來介紹Bean的不同命名方式

1.配置全限定類名,唯一

在示例中主要向大家輸出問候信息,我們需要一個HelloWorld接口以及一個名稱為HelloWorldImpl的實(shí)現(xiàn)類。接下來我們創(chuàng)建一個配置文件和一個程序的入口類。

首先在項(xiàng)目中創(chuàng)建包definition,接下來在包中創(chuàng)建HelloWorld接口:

public interface HelloWorld {   public void sayHello(); } 

接下來我們創(chuàng)建HelloWorldImpl實(shí)現(xiàn)類:

public class HelloWorldImpl implements HelloWorld{   public void sayHello() {     System.out.println("Hello World");   } } 

接下來我們在配置文件中為HelloWorldImpl進(jìn)行Bean的命名:

<bean class="cn.lovepi.chapter03.definition.HelloWorldImpl"/> 

我們在程序入口Mian.java來加載配置文件以及運(yùn)行示例。

public static void sayHelloWorldByClass(){   //使用FileSystemXmlApplicationContext加載配置文件信息   BeanFactory beanFactory=      new FileSystemXmlApplicationContext("src/conf/conf-definition.xml");   //獲取bean實(shí)例   HelloWorld helloWorld=beanFactory.getBean(HelloWorldImpl.class);   helloWorld.sayHello(); } 

在Main.java文件當(dāng)中我們需要:

 1.完成配置文件的加載以及SpringIoC容器的啟動
 2.從容器中獲得HelloWorldImpl實(shí)現(xiàn)類的實(shí)例
 3.輸出問候信息

2.指定id,唯一

在配置文件中對bean進(jìn)行配置

<bean id="HelloWorldById" class="cn.lovepi.chapter03.definition.HelloWorldImpl"/> 

修改Main程序入口,新建方法來調(diào)用bean

public static void sayHelloWorldById(){   BeanFactory factory=       new FileSystemXmlApplicationContext("src/conf/conf-definition.xml");   HelloWorld helloWorld=factory.getBean("HelloWorldById",HelloWorldImpl.class);   helloWorld.sayHello(); } 

3. 指定name,name為標(biāo)識符,唯一

在配置文件中對bean進(jìn)行配置

<bean name="HelloWorldByName" class="cn.lovepi.chapter03.definition.HelloWorldImpl"/> 

修改Main程序入口,新建方法來調(diào)用bean

public static void sayHelloWorldByName(){   BeanFactory factory=       new FileSystemXmlApplicationContext("src/conf/conf-definition.xml");   HelloWorld helloWorld=factory.getBean("HelloWorldByName",HelloWorldImpl.class);   helloWorld.sayHello(); } 

4.指定id和name,其中id為標(biāo)識符,name為別名,唯一

在配置文件中對bean進(jìn)行配置

<bean id="HelloWorldById01" name="HelloWorldByName01"    class="cn.lovepi.chapter03.definition.HelloWorldImpl"/> 

修改Main程序入口,新建方法來調(diào)用bean

public static void sayHelloWorldByNameAndId(){   BeanFactory factory=       new FileSystemXmlApplicationContext("src/conf/conf-definition.xml");   HelloWorld helloWorld01=factory.getBean("HelloWorldById01",HelloWorldImpl.class);   HelloWorld helloWorld02=factory.getBean("HelloWorldByName01",HelloWorldImpl.class);   helloWorld01.sayHello();   helloWorld02.sayHello(); } 

5. 指定多個name,其中多個name需要用分號來進(jìn)行分割,第一個name為標(biāo)識符,其他的為別名,唯一

在配置文件中對bean進(jìn)行配置

<bean name="bean1;alias01;alias02;alias03"    class="cn.lovepi.chapter03.definition.HelloWorldImpl"/> <bean id="bean2" name="alias11;alias12;alias13"    class="cn.lovepi.chapter03.definition.HelloWorldImpl"/> 

修改Main程序入口,新建方法來調(diào)用bean

public static void sayHelloWorldByMutilName(){   BeanFactory factory=       new FileSystemXmlApplicationContext("src/conf/conf-definition.xml");   HelloWorld helloWorld1=factory.getBean("bean1",HelloWorldImpl.class);   HelloWorld helloWorld01=factory.getBean("alias01",HelloWorldImpl.class);   HelloWorld helloWorld02=factory.getBean("alias02",HelloWorldImpl.class);   HelloWorld helloWorld03=factory.getBean("alias03",HelloWorldImpl.class);   helloWorld1.sayHello();   helloWorld01.sayHello();   helloWorld02.sayHello();   helloWorld03.sayHello();    HelloWorld helloWorld2=factory.getBean("bean2",HelloWorldImpl.class);   HelloWorld helloWorld11=factory.getBean("alias11",HelloWorldImpl.class);   HelloWorld helloWorld12=factory.getBean("alias12",HelloWorldImpl.class);   HelloWorld helloWorld13=factory.getBean("alias13",HelloWorldImpl.class);   helloWorld2.sayHello();   helloWorld11.sayHello();   helloWorld12.sayHello();   helloWorld13.sayHello(); } 

6. 指定別名,使用alias標(biāo)簽來進(jìn)行指定,唯一

在配置文件中對bean進(jìn)行配置

<bean name="bean3" class="cn.lovepi.chapter03.definition.HelloWorldImpl"/> <alias name="bean3" alias="alias21"/> <alias name="bean3" alias="alias22"/> 

修改Main程序入口,新建方法來調(diào)用bean

public static void sayHelloWorldByAlias(){   BeanFactory factory=       new FileSystemXmlApplicationContext("src/conf/conf-definition.xml");   HelloWorld helloWorld01=factory.getBean("bean3",HelloWorldImpl.class);   HelloWorld helloWorld02=factory.getBean("alias21",HelloWorldImpl.class);   HelloWorld helloWorld03=factory.getBean("alias22",HelloWorldImpl.class);   helloWorld01.sayHello();   helloWorld02.sayHello();   helloWorld03.sayHello();  } 

利用別名命名時得先有一個唯一的名稱(id和name都可以)

總結(jié)

以上就是本文關(guān)于Spring中Bean的命名方式代碼詳解的全部內(nèi)容,希望對大家有所幫助。


注:相關(guān)教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇州市| 漠河县| 密山市| 稻城县| 岐山县| 延吉市| 托里县| 玉环县| 长泰县| 溆浦县| 友谊县| 崇义县| 乌审旗| 永济市| 新绛县| 湖南省| 平遥县| 临沂市| 涿鹿县| 龙川县| 台北县| 永春县| 仲巴县| 郁南县| 花莲县| 汕头市| 平原县| 巴彦县| 新安县| 祁阳县| 蛟河市| 石屏县| 逊克县| 桃园市| 娄底市| 山阳县| 昌宁县| 神木县| 徐闻县| 宜春市| 永康市|