Spring IOC注入(四)继承
2016-07-16 14:58
375 查看
继承:并不是OO的继承关系~只是bean的定义的继承,指bean的配置可去继承~
要怎么做才能让bean之间继承呢~
父类:
true 抽象化 代码中不能getBean获取其对象
abstract =
false 默认
子类:
parent = "父类bean的id/name"
写个例子来更好的理解下~
代码如下:
POJO类就不写了~有需要的可以看我上一篇文章:Spring IOC注入(三)自动注入
那我现在写一下配置文件extends.xml:
abstract="true" 表示当前的配置是一个抽象的配置,
这时候我们在代码中就不能通过这个bean的名字teacher来获得相应的对象了(和java中的抽象类不能直接new对象的道理一样)
但是我们可以在写一个配置去继承这个抽象的配置,当然即使当前这个配置不是抽象的,也能够被继承(和java中继承一样)
parent="t1" 表示当前配置是继承了另外一个名字叫t1的bean的配置,配置和配置的继承像java中的类和类直接的继承一样,子类会把父类中的对象继承过来.当然在子配置里面依然是可以覆盖父配置中已经写的配置信息.
测试类ExtendTest:
效果图:
其实这个继承还是蛮简单的~
这个就写到这里了~
下一篇写bean对象的生命周期~
要怎么做才能让bean之间继承呢~
父类:
true 抽象化 代码中不能getBean获取其对象
abstract =
false 默认
子类:
parent = "父类bean的id/name"
写个例子来更好的理解下~
代码如下:
POJO类就不写了~有需要的可以看我上一篇文章:Spring IOC注入(三)自动注入
那我现在写一下配置文件extends.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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> <bean name="t1" class="com.x.spring.bean.Student" abstract="true"> <property name="id" value="99999"></property> </bean> <bean name="t2" class="com.x.spring.bean.Student" parent="t1"> </bean> </beans>
abstract="true" 表示当前的配置是一个抽象的配置,
这时候我们在代码中就不能通过这个bean的名字teacher来获得相应的对象了(和java中的抽象类不能直接new对象的道理一样)
但是我们可以在写一个配置去继承这个抽象的配置,当然即使当前这个配置不是抽象的,也能够被继承(和java中继承一样)
parent="t1" 表示当前配置是继承了另外一个名字叫t1的bean的配置,配置和配置的继承像java中的类和类直接的继承一样,子类会把父类中的对象继承过来.当然在子配置里面依然是可以覆盖父配置中已经写的配置信息.
测试类ExtendTest:
public class ExtendTest { public static void main(String[] args) { String[] path = {"extends.xml"}; ApplicationContext container = new ClassPathXmlApplicationContext(path); Student s2 = (Student)container.getBean("t2"); System.out.println(s2.getId()); } }
效果图:
其实这个继承还是蛮简单的~
这个就写到这里了~
下一篇写bean对象的生命周期~
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 模拟Spring的简单实现
- Spring整合WebSocket应用示例(上)
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- 监听器获取Spring配置文件的方法
- Java利用Sping框架编写RPC远程过程调用服务的教程
- springmvc 发送ajax出现中文乱码的解决方法汇总
- Spring MVC中Ajax实现二级联动的简单实例
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- 详解Java的MyBatis框架和Spring框架的整合运用
- struts2 spring整合fieldError问题