博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring:四种配置bean的方式以及父bean和子bean
阅读量:5835 次
发布时间:2019-06-18

本文共 4897 字,大约阅读时间需要 16 分钟。

  hot3.png

package exm.spring.bean;public class User {		private String name;		private String password;	public User() {		super();		// TODO Auto-generated constructor stub	}	public User(String name, String password) {		super();		this.name = name;		this.password = password;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}	@Override	public String toString() {		return "User [name=" + name + ", password=" + password + "]";	}}package exm.spring.bean;public class Car {		private String name;		private String color;	public Car() {		super();		// TODO Auto-generated constructor stub	}	public Car(String name, String color) {		super();		this.name = name;		this.color = color;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getColor() {		return color;	}	public void setColor(String color) {		this.color = color;	}	@Override	public String toString() {		return "Car [name=" + name + ", color=" + color + "]";	}}package exm.spring.bean;public class Student {		private String name;		private String id;		private String address;	public Student() {		super();		// TODO Auto-generated constructor stub	}	public Student(String name, String id, String address) {		super();		this.name = name;		this.id = id;		this.address = address;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getId() {		return id;	}	public void setId(String id) {		this.id = id;	}	public String getAddress() {		return address;	}	public void setAddress(String address) {		this.address = address;	}	@Override	public String toString() {		return "Student [name=" + name + ", id=" + id + ", address=" + address				+ "]";	}}package exm.spring.bean;public class Faculty {		private String name;		private String id;		private String address;	public Faculty() {		super();		// TODO Auto-generated constructor stub	}	public Faculty(String name, String id, String address) {		super();		this.name = name;		this.id = id;		this.address = address;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getId() {		return id;	}	public void setId(String id) {		this.id = id;	}	public String getAddress() {		return address;	}	public void setAddress(String address) {		this.address = address;	}	@Override	public String toString() {		return "Faculty [name=" + name + ", id=" + id + ", address=" + address				+ "]";	}}package exm.spring.bean;public class StaticFactory {		private User user;		public void setUser(User user) {		this.user = user;	}		public User getUser()	{		return this.user;	}		public static User getBean()	{		return new User("李佳佳", "12345678");	}}package exm.spring.bean;public class InstanceFactory {		private User user;		public User getUser() {		return user;	}	public void setUser(User user) {		this.user = user;	}	public User getBean()	{		return user;	}}package exm.spring.bean;import org.springframework.beans.factory.FactoryBean;/** * 实现了FactoryBean的类配置在容器中, * 但是容器getBean()获取的是该类getObject()返回的类 * @author Administrator * */public class CarFactory implements FactoryBean
 { private Car car; public Car getCar() { return car; } public void setCar(Car car) { this.car = car; } @Override public Car getObject() throws Exception { return car; } @Override public Class
 getObjectType() { return Car.class; } @Override public boolean isSingleton() { return true; }}//测试类package exm.spring.bean;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test { @org.junit.Test public void test() { /**  * 下面是测试实例化bean的三种方式  */ ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); User user1 = (User) ac.getBean("user"); System.out.println(user1.toString()); User user2 = (User) ac.getBean("user2"); System.out.println(user2.toString()); User user3 = (User) ac.getBean("user3"); System.out.println(user3.toString()); Car car = (Car) ac.getBean("car"); System.out.println(car); /**  * 下面是测试父bean和子bean  */ Student student = ac.getBean("student", Student.class); Faculty faculty = ac.getBean("faculty", Faculty.class); System.out.println(student.toString()); System.out.println(faculty.toString()); //销毁容器 ((ClassPathXmlApplicationContext)ac).close(); }}
                
        
        
                
        
                        
        
        
        
                                 
                
        
        
        
                                 
        
                
        
        
                        
        
        
                        
        
        
                

转载于:https://my.oschina.net/ChiLin/blog/387087

你可能感兴趣的文章
Spring整合Quartz框架实现定时任务跑批(Maven完整版)
查看>>
安装jdk和Tomcat
查看>>
百度PaddlePaddle常规赛NLP赛道火热开启
查看>>
稳了!这才是cookie,session与token的真正区别
查看>>
python项目实战:制作一个简易的GUI界面浏览器
查看>>
微信自定义链接分享制作,微信自定义链接配置
查看>>
mysql日期运算,日期函数(转载)
查看>>
如何切换你想要的语言在XMind 6中
查看>>
OSChina 周二乱弹 —— 假期余额已不足!
查看>>
OSChina 周一乱弹 —— 亚洲四大邪术!
查看>>
Google Go web 入门例子
查看>>
log4j 系统jar 冲突整理
查看>>
前端那些事之React篇--helloword
查看>>
swift3.0 常用字符操作 <持续整理>
查看>>
Oracle11g及PL/SQL Developer的安装和配置
查看>>
ios的google解析XML框架GDataXML的配置及使用
查看>>
lua与C++的交互
查看>>
别使用嵌套事务
查看>>
ocatve 安装工具包
查看>>
常用maven配置(打入依赖包,编译插件,ojdbc)
查看>>