本节我们继续看一下spring中bean相关特性:模板、继承与覆盖。
1、前提约束
- 创建一个spring项目 https://www.jianshu.com/p/881728c97c3c
2、操作步骤
- 在src文件夹中创建net.wanho.entity.User.java,内容如下:
public class User{
private int id;
private Strig name;
//提供get/set方法,提供无参有参方法
}
- 在src文件夹中创建bean-template.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="net.wanho.entity.User">
<property name="id" value="123"></property>
<property name="name" value="ali"></property>
</bean>
<!--继承上面的user,并且重写name-->
<bean id="user1" parent="user" p:name="zhangli"></bean>
<!--这就是一个模板-->
<bean id="abstractuser" abstract="true" p:name="ali" ></bean>
<!--实现上面的模板-->
<bean id="user2" class="net.wanho.entity.User" parent="abstractuser"></bean>
</beans>
- 在src文件夹中创建Test.java测试类,内容如下:
public class Test{
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean-template.xml");
User user= applicationContext.getBean("user",User.class);
User user1= applicationContext.getBean("user1",User.class);
User user2= applicationContext.getBean("user2",User.class);
}
}
以上就是spring中bean的模板、继承与覆盖的使用。