一:调用无参数构造器
public User(){ super(); System.out.println("无参数构造器"); }
在Spring的 applicationContext.xml 配置文件中添加如下代码
<bean id="user" class="cn.yan.spring.User"></bean>
以上配置中,class
表示“类”,取值应该是类的全名,即包名和类名,id
是自定义的名称,通常使用类名并且首字母改为小写,
例如类名是Date
,则id值为date
,如果类名是Student
,则id
值为student
public static void main(String[] args) {
// 加载Spring的配置文件,获取Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
// 通过Spring容器获取对象
Date user= (User) ac.getBean("user");
// 测试输出
System.out.println(user);
}
二:调用带参数构造器
public User(int id, String name){
System.out.println("带参数构造器");
this.id = id;
this.name = name;
}
在Spring的 applicationContext.xml 配置文件中添加如下代码
<!-- 方法1 --> <bean id="user" class="com.isoftstone.bean.User"> <constructor-arg value="100" index="0" type="int" ></constructor-arg> <constructor-arg value="StanLong" index="1" type="java.lang.String"></constructor-arg> </bean> <!--方法2 依赖参数--> <bean id="str" class="java.lang.String"> <constructor-arg value="StanLong"></constructor-arg> </bean>
<bean id="user" class="com.isoftstone.bean.User"> <constructor-arg index="0" type="int" value="100" ></constructor-arg> <constructor-arg index="1" type="java.lang.String" ref="str"></constructor-arg>
</bean>
public static void main(String[] args) {
// 加载Spring的配置文件,获取Spring容器
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
// 通过Spring容器获取对象
Date user= (User) ac.getBean("user");
// 测试输出
System.out.println(user.getId());
System.out.println(user.getName());
}
三:工厂模式创建对象(静态方法和实例方法)
通过工厂类创建对象
//先创建一个工厂类//工厂类 public class ObjectFactory { //实例方法创建对象 public User getInstance(){ return new User(100, "调用实例方法"); } //静态方法创建对象 public static User getStaticInstance(){ return new User(101, "调用静态方法"); } }