Spring中bean之间的关系有三种:1.继承、2.依赖、3.引用
1.继承:
<?xml version="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.xsd"> <!-- 首先定义一个抽象类abstract的属性值设为true --> <bean id="abstractPeople" class="com.java1234.entity.People" abstract="true"> <property name="className" value="高三5班"></property> <property name="age" value="19"></property> </bean> <!-- 定义一个张三继承自abstractPeople,在这里张三,李四是不需要实体类支撑的 --> <bean id="zhangsan" parent="abstractPeople" depends-on="autority"> <property name="id" value="1"></property> <property name="name" value="张三"></property> </bean> <!-- 定义一个李四继承自abstractPeople,但是重写了父类的age --> <bean id="lisi" parent="abstractPeople"> <property name="id" value="2"></property> <property name="name" value="李四"></property> <property name="age" value="20"></property> </bean> </beans>
2.依赖关系:(当执行某个bean时,我想让它在执行时先去执行某个bean)
<bean id="zhangsan" parent="abstractPeople" depends-on="autority"> <!-- 这时就要在其加 depends-on属性,属性值就是要在此之前执行的bean --> <property name="id" value="1"></property> <property name="name" value="张三"></property> </bean>
3.引用关系:(就是之前说过的,注入一个bean,在这里就不赘述了)
抓的图:重点掌握1.2就可以了其他了解。
singleton是默认的单例模式。prototype则是多例