SSM三大框架之Spring创建和获取对象

Spring框架创建和获取对象。

使用Spring框架创建和获取对象

Spring创建和获取对象有三种方式:

  • 通过无参构造方法创建和获取对象。(常用)
  • 通过静态实例工厂方法创建和获取对象。(不常用)
  • 通过实例工厂方法创建和获取对象。(不常用)

(1) 通过无参构造方法创建和获取对象。

  • 第一步:创建一个测试类,例如:创建包spring.demo,然后在该包下创建User类。

SSM三大框架之Spring创建和获取对象_第1张图片

  • 然后在Spring配置文件中添加User类的配置。

SSM三大框架之Spring创建和获取对象_第2张图片

以上两个步骤就已经配置好了User类了,接下来就是如何获取User对象了。

  • src/test/java下添加测试类。

SSM三大框架之Spring创建和获取对象_第3张图片

  • 在测试类TestCase中进行单元测试,也可以使用main方法测试。

注意:在获取对象时,需要在spring配置文件给相应的bean添加id属性,以便于在获取对象时,有依据可以找到要获取的对象。

SSM三大框架之Spring创建和获取对象_第4张图片

然后在TestCase测试类进行获取对象的:

SSM三大框架之Spring创建和获取对象_第5张图片

测试结果:

注意:Spring框架中,能通过构造方法被创建的对象,必须是含有无参构造方法,否则不能被Spring框架创建对象

(1) 通过静态工厂方法创建和获取对象。

不常用,了解即可)。

对于静态工厂方法,则在Spring配置文件中进行如下配置:

这里以Calendar类为例。

SSM三大框架之Spring创建和获取对象_第6张图片

然后在进行单元测试:

SSM三大框架之Spring创建和获取对象_第7张图片

测试结果如下:

SSM三大框架之Spring创建和获取对象_第8张图片

 

(1.3) 通过实例工厂方法创建和获取对象。

不常用,了解即可

实例工厂表现为,某一个类不能直接创建对象,但是有一个工厂类可以创建它的对象。

这里创建一个Phone类和PhoneFactory作为测试。

public class Phone {
	
	public Phone(String name) {
		System.out.println("Phone的有参构造方法");
	}
	
}

public class PhoneFactory {
	
	public Phone getInstance() {
		return new Phone("华为手机");
	}
	
}

上面代码中由于Phone没有无参构造方法,所以不能被Spring创建对象,所以只能通过PhoneFactory工厂来创建Phone对象。

则在Spring中可以进行如下配置:

SSM三大框架之Spring创建和获取对象_第9张图片

测试代码:

SSM三大框架之Spring创建和获取对象_第10张图片

测试结果:

SSM三大框架之Spring创建和获取对象_第11张图片

通过这种方法创建的对象,必须保证工厂类的对象可以被Spring创建,这样才能通过工厂对象去调用getInstance方法,从而获取到Phone对象。

 

 

 

你可能感兴趣的:(SSM三大框架)