Spring Bean的命名(学习笔记)

原创 2016年06月01日 17:47:57

Bean id 的命名方式:

  • 配置全限定类名,唯一

Conf-definiton.xml

<?xmlversion="1.0" encoding="UTF-8" ?>
<beans
   xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
             http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean class="com.bestone.spring.chapter04.definition.HelloWorldImpl" />                <!--通过全限定命名命名bean  -->
<bean name="helloWorldByName"class="com.bestone.spring.chapter04.definition.HelloWorldImpl" />
</beans>


Main.java

public static voidsayHelloWorldByClass() {   //通过全限定命名命名bean
BeanFactory beanFactory =
newClassPathXmlApplicationContext("conf/conf-definition.xml"); //读取配置文件实例化一个IOC容器
HelloWorld helloWorld =beanFactory.getBean(HelloWorldImpl.class); //从容器中获取Bean
helloWorld.sayHello();  //执行业务逻辑
}


  • 指定id,唯一

Conf-definiton.xml

<?xmlversion="1.0" encoding="UTF-8" ?>
<beans
   xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
              http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
class="com.bestone.spring.chapter04.definition.HelloWorldImpl"/>                 <!--通过指定id进行bean的命名  -->
<beanname="helloWorldByName"class="com.bestone.spring.chapter04.definition.HelloWorldImpl" />
</beans>


Main.java

public static void sayHelloWorldById(){        //通过指定id进行bean的命名
BeanFactory beanFactory =
new ClassPathXmlApplicationContext("conf/conf-definition.xml");        //1.配置文件的加载和IOC容器的启动
HelloWorld helloWorld =beanFactory.getBean("helloWorld", HelloWorld.class); //2.通过id从容器中获取HelloWold bean的实例
helloWorld.sayHello(); //3.利用HelloWorld Bean实例输出问候信息
}
 


  • 指定name,唯一

name即所谓的标识符

<beanname="helloWorldByName"class="com.bestone.spring.chapter04.definition.HelloWorldImpl" />                <!--通过name命名bean -->

 

Main.java

public static void sayHelloWorldByName() {
BeanFactory beanFactory =
new ClassPathXmlApplicationContext("conf/conf-definition.xml");
HelloWorldhelloWorld = beanFactory.getBean("helloWorldByName",HelloWorld.class);
helloWorld.sayHello();
}


 

  • 指定id和name,唯一

 

<!--通过id和name命名bean-->

<beanid="helloWorldById" name="helloWorldByName01"

class="com.bestone.spring.chapter04.definition.HelloWorldImpl"/>

 

Main.java

public static void sayHelloWorldByNameAndId() {
BeanFactory beanFactory =
new ClassPathXmlApplicationContext("conf/conf-definition.xml");
HelloWorldhelloWorld01 = beanFactory.getBean("helloWorldById",HelloWorld.class);
helloWorld01.sayHello();          
HelloWorldhelloWorld02 = beanFactory.getBean("helloWorldByName01",HelloWorld.class);
helloWorld02.sayHello();
 
}


 

 

  • 指定多个name,唯一

<!-- 通过指定多个name命名bean --><!-- 指定单独的id和多个别名命名bean -->

<beanname="bean1;alias11;alias12;alias13"

class="com.bestone.spring.chapter04.definition.HelloWorldImpl"/>

<bean id="bean2"name="alias21,alias22,alias23"        

class="com.bestone.spring.chapter04.definition.HelloWorldImpl"/>

 

 

Main.java

public static void sayHelloWorldByMultiName() {
BeanFactory beanFactory =
new ClassPathXmlApplicationContext("conf/conf-definition.xml");
HelloWorld bean1 =beanFactory.getBean("bean1", HelloWorld.class);        //调用不同的name和id来实例化bean
bean1.sayHello();         
HelloWorldbean11 = beanFactory.getBean("alias11", HelloWorld.class);
bean11.sayHello();
HelloWorld bean12 = beanFactory.getBean("alias12",HelloWorld.class);
bean12.sayHello();
HelloWorldbean13 = beanFactory.getBean("alias13", HelloWorld.class);
bean13.sayHello();
 
HelloWorldbean2 = beanFactory.getBean("bean2", HelloWorld.class);
bean1.sayHello();
HelloWorldbean21 = beanFactory.getBean("alias21", HelloWorld.class);
bean21.sayHello();
HelloWorldbean22 = beanFactory.getBean("alias22", HelloWorld.class);
bean22.sayHello();
HelloWorldbean23 = beanFactory.getBean("alias23", HelloWorld.class);
bean23.sayHello();
}


 

 

  • 指定别名,唯一

<!-- 指定别名命名bean-->

<bean name="bean3"

class="com.bestone.spring.chapter04.definition.HelloWorldImpl"/>

<aliasalias="alias31" name="bean3" />

<aliasalias="alias32" name="bean3" />

 

 

Main.java

public static void sayHelloWorldByAlias() {
Bean Factory beanFactory =
new ClassPathXmlApplicationContext("conf/conf-definition.xml");
HelloWorldbean3 = beanFactory.getBean("bean3", HelloWorld.class);
HelloWorldbean31 = beanFactory.getBean("alias31", HelloWorld.class);
HelloWorldbean32 = beanFactory.getBean("alias32", HelloWorld.class);
bean3.sayHello();
bean31.sayHello();       //通过bean的别名获得实例
bean32.sayHello();
}


 

 

Bean id的命名约定:

1.遵循XML命名规范

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

3.驼峰式,首个单词字母大写

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

spring学习笔记(3)Bean命名、定义与配置

基于xml的配置基础配置 class为bean的全限定名,指向

spring学习笔记02_注解配置Bean_AOP_

spring学习笔记02 注解配置bean aop

spring学习笔记2——bean的应用

一、   Bean的实例化 1、创建spring配置       在xml文件中声明Bean时,spring配置文件的根元素是来源于spring beans命名空间所定义的元素。下面是一个典型...

Spring4.0学习笔记004——Bean的配置二(基于XML文件)

Spring Bean的xml配置

Spring 学习笔记(二)——装配 bean

一、自动装配 bean     配置文件自动装配的四种方式: 1. byName 2. byType     当 Spring 检查到有多个 bean 符合指定类型时,设置 primary ...

Spring学习笔记 使用Static Factory(静态工厂类)创建Bean

普通定义Bean并且进行初始化的方法一般通过property(属性)的setter方法或者构造方法进行。例如 [html] view plaincopy b...

Spring学习笔记 关于Bean属性的初始化

依赖注入,可以使Bean中的属性通过Spring进行配置,从HelloWorld中可以看到,由Spring的XML配置文件决定了对象被创建时它的属性是如何被初始化的。Spring配置文件中定义Bean...

10.Spring学习笔记_管理Bean的生命周期(by尚硅谷_佟刚)

IOC 容器中 Bean 的生命周期方法 Spring IOC 容器可以管理 Bean 的生命周期, Spring 允许在 Bean 生命周期的特定点执行定制的任务.  Spring ...

6.Spring学习笔记_Bean之间的关系 (by尚硅谷_佟刚)

一、继承 Bean 配置 Spring 允许继承 bean 的配置, 被继承的 bean 称为父 bean. 继承这个父 Bean 的 Bean 称为子 Bean 子 Bean 从父 Bean...

spring学习笔记:bean的配置

从Spring IOC容器中获取一个bean很简单,正如前面看到的,context.getBean("bean name"); 关键是配置bean, 我们前面配置了一个叫做myBook的bean; ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)