<!-- 抽象bean:bean的abstract 属性为true 的bean 这样的bean不能被IOC实例化,只是用来被继承配置
若某一个bean的class 属性没有被指定,则该bean必须是一个抽象bean 即必须指定 abstract="true"
-->
<bean id="address" p:city="beijing" p:street="wudaokou" abstract="true“></bean>
<bean id="address2" class="cm.atuo.spring.bean.Address" parent="address" p:street="tongzhou"></bean>
p:属性=”xxx“的使用
<bean id="person" class="com.tat.Person p:name="tom"></bean>
---------------------------bean 之间的依赖关系
spring允许用户通过depends-on属性设定Bean前置依赖的Bean 前置依赖的Bean会在Bean实例化 之前创建好
如果前置依赖 于多个bean 则可以通过逗号 空格 或的方式配置bean 的名称
<bean id="car" class="com.atuo.spring.bean.Car" p:brand="audi" p:price="300000"></bean>
<bean id="address2" class="com.atuo.spring.bean.Address" p:street="Dazhongsi" parent="address"></bean>
<!--depends-on="car"-->
<bean id="person" class="com.atuo.spring.bean.Person" p:name="tom" p:address-ref="address2" depends-on="car"></bean>
------------------------bean 的作用域
有一个bean
<bean id="car" class="com.auto.Car" p:name="brand" p:price="300000"></bean>
mian方法测试
ApplicationContext ac = new ClassPathXmlApplicationContext(“beans-scope.xml”);
Car car = (car)ac.getBean("car");
Car car2 = (car)ac.getBean("car");
System.out.println(car == car2);
判断结果为true 即单例模式 默认的
scope=”singleton" 单例的
指定scope="prototype" 为原型 即不是单例的
scope属性为singleton 在容器启动时就自动实例化该bean
scope="prototype" 原型 : 在容器启动时 不会自动实例化该bean getBean方法每次都会实例化一个对象
----------------------------使用bean的scope属性来设置bean 的作用域
singleton: 默认值 容器初始时创建bean的实例 在整个容器的生命周期内只会创建一个bean
单例的
prototype:原型的 容器初始化时不创建bean的实例 而在每次请求时都会创建一个新的bean实例 并返回