spring的beans注入

目录

 

一、bean的定义

二、bean的DI:(下方还有property进行复制则将之前的构造方法赋值覆盖掉)

三、测试类


一、bean的定义

被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的。bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象

1、bean的写法

<bean id="account1" class="com.pojo.Account" scope="prototype">

       <property name="aid" value="1"/>

</bean>

 

 

2、scop:作用域,默认bean结点是按照singleton方式创建

      singleton:单利模式,节省对象空间,所有用的都是一个对象

      prototype:原型模式,用的是不同的pojo

      session:一次会话

      request:一次请求

3、bean下的属性

spring的beans注入

 

二、bean的DI:(下方还有property进行复制则将之前的构造方法赋值覆盖掉)

   解释:控制反转,一个典型的实例DI(依赖注入)

         创建对象,给对象里的属性赋值都交由spring去创建和赋值

 

1、set方式赋值

<property name="aid" value="22"></property>

2、构造方法赋值

      a、构造方法里的参数顺序指定

<constructor-arg value="值"/>

      b、构造方法里参数的索引位置指定

<constructor-arg index="索引" value="值"/>

spring的beans注入

spring的beans注入

3、list属性赋值

spring的beans注入

4、引用赋值

spring的beans注入

 5、p:属性 方式赋值

spring的beans注入

         a、注意上面需要导入链接

spring的beans注入

6、p:list 方式赋值

spring的beans注入

7、自动注入autowire

spring的beans注入

      a、按名称注入    
              byName:的方式要求对象属性名和bean的id需要保持一
      b、按类型注如:
             注意:对应的bean只能有一个
             byType:按照类型进行匹配,该类型对应的bean的类型有且只有一个,如果没有就为null    

spring的beans注入

8、${} 获取属性文件中的key
9、#{具体的值}:可进行一些调用属性,还可进行逻辑操作

三、测试类

// 创建应用程序的上下文

ClassPathXmlApplicationContext cpac =

new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

// getBean() 方法来获得所需的 bean ComboPooledDataSource cpds= ComboPooledDataSource)cpac.getBean("getDataSource");