Spring学习(二)---在IoC容器中装配Bean 博客分类: Spring 3.x 企业应用开发笔记 springbeanioc框架
程序员文章站
2024-02-06 19:06:40
...
一 Spring配置概述
1.Spring容器高层视图
要使应用程序中的Spring容器成功启动,需要以下三方面的条件都具备:
2.基于XML的配置
二 依赖注入
1.属性注入
Bean的每一个属性对应一个<property>标签,那么为属性的名称,在Bean实现类中拥有与其对应的Setter方法。Spring只会检查Bean中是否有对应的Setter方法,至于Bean中是否有对应的属性变量则不做要求
注意:JavaBean特殊的属性命名规范,一般情况下,java的属性变量名都以小写字母起头。但也允许大写字母起头的属性变量名,不过必须满足“变量的前两个字母要么全部大写,要么全部小写”的要求。
2.构造函数注入
由于一个类可以有多个构造函数,所以在匹配入参上有好几种匹配方式。
3.工厂方法注入
1.Spring容器高层视图
要使应用程序中的Spring容器成功启动,需要以下三方面的条件都具备:
- Spring框架的雷暴都已经放到应用程序的类路径下;
- 应用程序为Spring提供完备的Bean配置信息;
- Bean的类都已经放在应用程序的类路径下。
2.基于XML的配置
二 依赖注入
1.属性注入
<bean id="car" class="com.baobaobao.ditype.Car"> <property name="maxSpeed"><value>200</value></property> <property name="brand"><value>奔驰</value></property> <property name="price"><value>2000000</value></property> </bean>
Bean的每一个属性对应一个<property>标签,那么为属性的名称,在Bean实现类中拥有与其对应的Setter方法。Spring只会检查Bean中是否有对应的Setter方法,至于Bean中是否有对应的属性变量则不做要求
注意:JavaBean特殊的属性命名规范,一般情况下,java的属性变量名都以小写字母起头。但也允许大写字母起头的属性变量名,不过必须满足“变量的前两个字母要么全部大写,要么全部小写”的要求。
2.构造函数注入
<bean id="car" class="com.baobaobao.ditype.Car"> <constructor-arg index="0" type="java.lang.String"> <value>奔驰</value> </constructor-arg> <constructor-arg index="1" type="double"> <value>20000</value> </constructor-arg> </bean>
由于一个类可以有多个构造函数,所以在匹配入参上有好几种匹配方式。
3.工厂方法注入
<!--非静态工厂方法:需要创建工厂实例 --> <bean id="carFactory" class="com.baobaobao.ditype.CarFactory"/> <!-- factory-bean指定上面的工厂类Bean;factory-method指定工厂类创建该Bean的工厂方法--> <bean id="car5" factory-bean="carFactory" factory-method="createHongQiCar"/> <!--静态工厂方法 --> <bean id="carFactory" class="com.baobaobao.ditype.CarFactory" factory-method="createHongQiCar/>