video.java(父类)
package net.cybclass.sp.domain; import java.util.List; import java.util.Map; /** * @author: wangxiaobo * @create: 2020-10-03 15:08 **/ public class Video { // public Video(int id, String title) { // System.out.println("Video 构造函数被调用"); // this.id = id; // this.title = title; // } private int id; private String title; // private List<String> chapterList; // private Map<Integer, String> videoMap; // public List<String> getChapterList() { // return chapterList; // } // // public void setChapterList(List<String> chapterList) { // this.chapterList = chapterList; // } // // public Map<Integer, String> getVideoMap() { // return videoMap; // } // // public void setVideoMap(Map<Integer, String> videoMap) { // this.videoMap = videoMap; // } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { System.out.println("Video setTitle被调用"); this.title = title; } }Video2.java(子类)
package net.cybclass.sp.domain; /** * @author: wangxiaobo * @create: 2020-10-03 19:16 **/ public class Video2 { private int id; private String title; private String summary; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } @Override public String toString() { return "Video2{" + "id=" + id + ", title='" + title + '\'' + ", summary='" + summary + '\'' + '}'; } }applicationContext.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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="video" class="net.cybclass.sp.domain.Video" scope="prototype"> <property name="id" value="9"></property> <property name="title" value="Spring5.X课程"></property> </bean> <bean id="video2" class="net.cybclass.sp.domain.Video2" parent="video"> <property name="summary" value="这个是summary"></property> </bean> </beans>app.java
package net.cybclass.sp; import net.cybclass.sp.domain.Video; import net.cybclass.sp.domain.Video2; import net.cybclass.sp.domain.VideoOrder; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * @author: wangxiaobo * @create: 2020-10-03 15:11 **/ public class app { public static void main(String[] args) { ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml"); // Video video=(Video) applicationContext.getBean("video"); // VideoOrder videoOrder= (VideoOrder) applicationContext.getBean("videoOrder"); // System.out.println(video.getTitle()); // System.out.println(videoOrder.getVideo()); // System.out.println(video.getChapterList()); // System.out.println(video.getVideoMap()); Video2 video=(Video2) applicationContext.getBean("video2"); System.out.println(video); } }运行:
depends-on
<?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"> <bean id="video" class="net.cybclass.sp.domain.Video"> <property name="id" value="8"></property> <property name="title" value="SpringBoot课程专题"></property> </bean> <bean id="video2" class="net.cybclass.sp.domain.Video2" parent="video"> <property name="summary" value="这个是summary"></property> </bean> <!--设置两个bean的关系,video要先于videoOrder实例化--> <bean id="videoOrder" class="net.cybclass.sp.domain.VideoOrder" depends-on="video"> <property name="id" value="8"></property> <property name="outTradeNo" value="12312"></property> <property name="video" ref="video"></property> </bean> </beans>