1、Instantiation with a Constructor(构造函数)
创建类DaoImpl1
package com.it.app.dao;
public class DaoImpl1 {
private String name;
private Integer age;
public DaoImpl1(String name, Integer age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "DaoImpl1{" +
"name='" + name + ''' +
", age=" + age +
'}';
}
}
spring-context.xml文件:daoImpl1
执行测试类:
package com.it.app;
import com.it.app.dao.DaoImpl1;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
DaoImpl1 daoImpl1 = (DaoImpl1) context.getBean("daoImpl1");
System.out.println(daoImpl1.toString());
}
}
2、Instantiation with a Static Factory Method(通过静态工厂 Factory Method):
package com.it.app.dao;
public class DaoImpl2 {
private static DaoImpl2 daoImpl2 = new DaoImpl2();
private DaoImpl2(){
}
public static DaoImpl2 createDaoimpl2(){
return daoImpl2;
}
}
spring-context.xml文件:daoImpl2
执行测试代码:
package com.it.app;
import com.it.app.dao.DaoImpl1;
import com.it.app.dao.DaoImpl2;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
DaoImpl2 daoImpl2 = (DaoImpl2) context.getBean("daoImpl2");
System.out.println(daoImpl2.toString());
}
}
3、Instantiation by Using an Instance Factory Method(实例化工厂)
创建DaoImpl3:
package com.it.app.dao;
public class DaoImpl3 {
private static DaoImpl3 daoImpl3 = new DaoImpl3();
public DaoImpl3 createDaoImpl3(){
return daoImpl3;
}
}
spring-context.xml文件:
执行测试类:
package com.it.app;
import com.it.app.dao.DaoImpl1;
import com.it.app.dao.DaoImpl2;
import com.it.app.dao.DaoImpl3;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-context.xml");
DaoImpl3 daoImpl3 = (DaoImpl3) context.getBean("daoImpl3Factory");
System.out.println(daoImpl3.toString());
}
}



