Spring中Bean的命名方式代码详解

网友投稿 330 2023-02-27


Spring中Bean的命名方式代码详解

本文主要描述的是关于spring中bean的命名方式,通过简单实例向大家介绍了六种方式,具体如下。

一般情况下,在配置一个Bean时需要为其指定一个id属性作为bean的名称。id在IoC容器中必须是唯一的,此外id的命名需要满足xml对id的命名规范。

在实际情况中,id命名约束并不会给我们带来影响。但是如果用户确实希望用到一些特殊字符来对bean进行命名,那么可以使用bean的name属性来进行命名,name属性没有字符上的限制,几乎可以使用任何字符。

每个Bean可以有一个或多个id,我们把第一个id称为“标识符”,其余id叫做“别名”,这些id在IoC容器中必须唯一。

首先来介绍一下Beanid的命名规则:

1.遵循XML命名规范

2.由字母,数字,下划线组成

3.驼峰式,首个单词字母小写,从第二个单词开始首字母大写。

接下来我们使用具体的例子来介绍Bean的不同命名方式

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

在示例中主要向大家输出问候信息,我们需要一个HelloWorld接口以及一个名称为HelloWorldImpl的实现类。接下来我们创建一个配置文件和一个程序的入口类。

首先在项目中创建包definition,接下来在包中创建HelloWorld接口:

public interface HelloWorld {

public void sayHello();

}

接下来我们创建HelloWorldImpl实现类:

public class HelloWorldImpl implements HelloWorld{

public void sayHello() {

System.out.println("Hello World");

}

}

接下来我们在配置文件中为HelloWorldImpl进行Bean的命名:

我们在程序入口Mian.java来加载配置文件以及运行示例。

public static void sayHelloWorldByClass(){

//使用FileSystemXmlApplicationContext加载配置文件信息

BeanFactory beanFactory=

new FileSystemXmlApplicationContext("src/conf/conf-definition.xml");

//获取bean实例

HelloWorld helloWorld=beanFactory.getBean(HelloWorldImpl.class);

helloWorld.sayHello();

}

在Main.java文件当中我们需要:

1.完成配置文件的加载以及SpringIoC容器的启动

 2.从容器中获得HelloWorldImpl实现类的实例

 3.输出问候信息

2.指定id,唯一

在配置文件中对bean进行配置

修改Main程序入口,新建方法来调用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为标识符,唯一

在配置文件中对bean进行配置

修改Main程序入口,新建方法来调用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为标识符,name为别名,唯一

在配置文件中对bean进行配置

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

修改Main程序入口,新建方法来调用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需要用分号来进行分割,第一个name为标识符,其他的为别名,唯一

在配置文件中对bean进行配置

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

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

修改Main程序入口,新建方法来调用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标签来进行指定,唯一

在配置文件中对bean进行配置

修改Main程序入口,新建方法来调用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都可以)

总结

以上就是本文关于Spring中Bean的命名方式代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

《浅谈Spring中Bean的作用域、生命周期》

《Spring实例化bean的方式代码详解》

《Spring工厂方法创建(实例化)bean实例代码》

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

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

修改Main程序入口,新建方法来调用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需要用分号来进行分割,第一个name为标识符,其他的为别名,唯一

在配置文件中对bean进行配置

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

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

修改Main程序入口,新建方法来调用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标签来进行指定,唯一

在配置文件中对bean进行配置

修改Main程序入口,新建方法来调用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都可以)

总结

以上就是本文关于Spring中Bean的命名方式代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

《浅谈Spring中Bean的作用域、生命周期》

《Spring实例化bean的方式代码详解》

《Spring工厂方法创建(实例化)bean实例代码》

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

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

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

修改Main程序入口,新建方法来调用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标签来进行指定,唯一

在配置文件中对bean进行配置

修改Main程序入口,新建方法来调用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都可以)

总结

以上就是本文关于Spring中Bean的命名方式代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

《浅谈Spring中Bean的作用域、生命周期》

《Spring实例化bean的方式代码详解》

《Spring工厂方法创建(实例化)bean实例代码》

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

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

修改Main程序入口,新建方法来调用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标签来进行指定,唯一

在配置文件中对bean进行配置

修改Main程序入口,新建方法来调用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都可以)

总结

以上就是本文关于Spring中Bean的命名方式代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

《浅谈Spring中Bean的作用域、生命周期》

《Spring实例化bean的方式代码详解》

《Spring工厂方法创建(实例化)bean实例代码》

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:测试用例接口标题(测试用例测试标题怎么写)
下一篇:Spring的实例工厂方法和静态工厂方法实例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~