bean继承
来源:互联网 发布:淘宝买家手机号提取 编辑:程序博客网 时间:2024/04/28 00:51
bean定义继承
修改原先的bean
package com.yangjun.bean;import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;public class HelloWorld implements InitializingBean, DisposableBean { private String message; private String address; public void setMessage(String message) { this.message = message; } public void getMessage() { System.out.println("Your Message : " + message); } public void getAddress() { System.out.println("Your Address : " + address); } public void setAddress(String address) { this.address = address; } @Override public void afterPropertiesSet() throws Exception { // TODO Auto-generated method stub System.out.println("正在准备"); } public void init() { System.out.println("正在生成"); } public void destroy() { // TODO Auto-generated method stub System.out.println("正在销毁"); }}
创建一个新的bean
package com.yangjun.bean;import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;public class HelloWorld01 implements InitializingBean, DisposableBean { private String message; private String address; private String sex; public void getMessage() { System.out.println("Your Message : " + message); } public void setMessage(String message) { this.message = message; } public void getAddress() { System.out.println("Your Address : " + address); } public void setAddress(String address) { this.address = address; } public void getSex() { System.out.println("Your Sex : " + sex); } public void setSex(String sex) { this.sex = sex; } @Override public void afterPropertiesSet() throws Exception { // TODO Auto-generated method stub System.out.println("正在准备子类01"); } public void init() { System.out.println("正在生成子类01"); } @Override public void destroy() throws Exception { // TODO Auto-generated method stub System.out.println("正在销毁子类01"); }}
修改Bean.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="helloWorld" class="com.yangjun.bean.HelloWorld" init-method="init" destroy-method="destroy"> <property name="message" value="杨峻!" /> <property name="address" value="武汉!" /> </bean> <bean class="com.yangjun.postprocessor.BPP01" /> <bean id="helloWorld01" class="com.yangjun.bean.HelloWorld01" parent="helloWorld"> <property name="message" value="杨峻" /> <property name="sex" value="男" /> </bean></beans>
修改MainApp.java
AbstractApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); HelloWorld objA = (HelloWorld) context.getBean("helloWorld"); objA.getMessage(); objA.getAddress(); HelloWorld01 objA01 = (HelloWorld01) context.getBean("helloWorld01"); objA01.getMessage(); objA01.getAddress(); objA01.getSex(); context.registerShutdownHook();
运行程序后:
可以看到在xml中,虽然我没有在子类中定义address,但是值还是传过来了,我也没有指定子类的init-method方法和destroy-method,但是都继承了父类的。
因此,可以在xml里面定义一个抽象的,不指定类的属性,只指定带 true 值的抽象属性
<bean id="beanTeamplate" abstract="true"> <property name="message" value="杨峻!"/> <property name="address" value="武汉!"/> <property name="sex" value="男!"/> </bean>
然后让其他的bean去继承就可以了。
这里总结说一下,bean的继承不是在Java里面去继承,而是在xml里面继承,虽然xml里面子类不需要把所有的属性都声明出来,但是在Java里面必须要将父类的属性生命出来。
0 0
- bean继承
- Spring bean inheritance bean 继承
- Spring bean inheritance bean 继承
- Spring Bean配置继承
- Spring bean配置继承
- Spring 继承Bean配置
- Spring 继承 bean 声明
- Spring Bean的继承
- Bean的继承配置
- 继承bean配置,依赖bean配置
- spring的bean的继承和java bean的继承
- Spring中bean的继承
- spring中bean的继承
- spring 抽象bean及继承
- spring 抽象bean及继承
- spring的bean的继承
- Spring中Bean继承注意事项
- 18、Spring中Bean继承
- luac 编译器
- 线性代数导论5——SVD分解
- 2016武汉科技大学邀请赛现场赛 B题
- UITableView 调整分割线长度 等不常用属性总结
- R语言︱SNA-社会关系网络—igraph包(社群划分、画图)(三)
- bean继承
- firefox打开紧临页面设置
- React Native的Navigator详解
- css auto那些事
- 实习期间第二个小程序
- 用流读写csv文件
- hdu1079Calendar Game
- EcmaScript6学习之二
- XModem协议