首先提供目录结构如下:
下面提供各文件代码,以供参考:
UserDynamicFactory.java
1 package cn.sxt.factory; 2 3 import cn.sxt.vo.User; 4 5 /** 6 * ��̬�������������� 7 * 8 */ 9 public class UserDynamicFactory {10 public User createUser(String name,int age){11 return new User(name,age);12 }13 }
UserFactory.java
1 package cn.sxt.factory; 2 3 import cn.sxt.vo.User; 4 /** 5 * 6 */ 7 public class UserFactory { 8 public static User createUser(String name,int age){ 9 return new User(name,age);10 }11 }
User.java
1 package cn.sxt.vo; 2 3 4 public class User { 5 private String name; 6 private int age; 7 public User() { 8 } 9 public User(String name, int age) {10 super();11 this.name = name;12 this.age = age;13 }14 public String getName() {15 return name;16 }17 public void setName(String name) {18 this.name = name;19 }20 public int getAge() {21 return age;22 }23 public void setAge(int age) {24 this.age = age;25 }26 @Override27 public String toString() {28 return "User [name=" + name + ", age=" + age + "]";29 }30 }
beans.xml
1 26 7 8 9 1210 11 13 14 1715 16 18 19 2220 21 23 26 2724 25 28 31 3229 30 33 34 3735 36
SpringTest.java
1 package cn.sxt.spring; 2 3 import org.junit.Test; 4 import org.springframework.context.ApplicationContext; 5 import org.springframework.context.support.ClassPathXmlApplicationContext; 6 7 import cn.sxt.vo.User; 8 9 public class SpringTest {10 @Test11 public void testHello(){12 //��������13 ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");14 User u=(User)ac.getBean("u6");15 System.out.println(u);16 }17 }
一.通过构造方法来创建对象
1. 通过参数下标来设置参数的值
2.通过参数名称来设置
3.通过参数类型来设置
二. 通过无参构造方法来创建对象
注意:需要提供无参构造器,并且属性要有对应的set方法
三. 通过静态工厂来创建对象
静态工厂类:
/** * 静态工厂方法 * 通过静态工厂来创建对象 */public class UserFactory { public static User createUser(String name,int age){ return new User(name,age); }}
配置文件
四.通过动态工厂来创建对象
动态工厂类
/** * 动态工厂来创建对象 * */public class UserDynamicFactory { public User createUser(String name,int age){ return new User(name,age); }}
配置文件