1. 使用无参构造函数创建对象
核心配置文件applicationContext.xml中添加如下内容:
<bean id="us1" class="com.zzz.pojo.User"/>
2. 使用有参构造函数创建对象
核心配置文件applicationContext.xml中添加如下内容:
<!--使用有参构造创建对象-->
<bean id="us2" class="com.zzz.pojo.User">
<!--name与构造方法参数名相同,而不是属性名-->
<!-- <constructor-arg name = "uid" value = "222" />-->
<!-- <constructor-arg name = "uname" value = "zzz"/>-->
<!-- <constructor-arg name = "uage" value= "12"/>-->
<!-- <constructor-arg name = "usex" value = "男"/>-->
<!--index 下标从0开始,对应构造方法中的参数下标-->
<constructor-arg index = "0" value = "222" />
<constructor-arg index = "1" value = "zzz"/>
<constructor-arg index = "2" value= "12"/>
<constructor-arg index = "3" value = "男"/>
<!--
type 一般不用
value 一般为简单类型赋值
ref 为引用数据类型赋值
-->
</bean>
3. 使用工厂模式创建对象
方案一:使用实例工厂 + 无参
- 准备一个工厂类
目录:springboot\spring01\src\main\java\com\zzz\factory\UserFactory.java
package com.zzz.factory;
import com.zzz.pojo.User;
public class UserFactory {
public User getInstance(){
return new User(123,"丽丽",30,"女");
}
}
- 核心配置文件添加:
<!-- 使用工厂模式 创建对象
1. 创建工厂对象
2. 根据工厂对象,创建User对象
-->
<bean id="factory" class="com.zzz.factory.UserFactory"/>
<bean id="us3" factory-bean="factory" factory-method="getInstance"/>
方案二:使用静态工厂 + 无参
- 准备一个工厂类
目录:springboot\spring01\src\main\java\com\zzz\factory\UserFactory.java
package com.zzz.factory;
import com.zzz.pojo.User;
public class UserFactory {
public static User getInstance(){
return new User(123,"丽丽",30,"女");
}
}
- 核心配置文件添加:
<!--使用静态工厂模式-->
<bean id="us4" class="com.zzz.factory.UserFactory" factory-method="getInstance"/>
方案三:使用实例工厂 + 有参
- 准备一个工厂类
目录:springboot\spring01\src\main\java\com\zzz\factory\UserFactory.java
package com.zzz.factory;
import com.zzz.pojo.User;
public class UserFactory {
public User getInstance(User user){
return user;
}
}
- 核心配置文件添加:
<bean id="us1" class="com.zzz.pojo.User"/>
<!--使用实例工厂类 +有参-->
<bean id="factory" class="com.zzz.factory.UserFactory"/>
<bean id="us5" factory-bean="factory" factory-method="getInstance">
<constructor-arg name="user" ref="us1"></constructor-arg>
</bean>
方案四:使用静态工厂 + 有参
- 准备一个工厂类
目录:springboot\spring01\src\main\java\com\zzz\factory\UserFactory.java
package com.zzz.factory;
import com.zzz.pojo.User;
public class UserFactory {
public static User getInstance(User user){
return user;
}
}
- 核心配置文件添加:
<bean id="us1" class="com.zzz.pojo.User"/>
<!--使用静态工厂类 +有参-->
<bean id="us6" class="com.zzz.factory.UserFactory" factory-method="getInstance">
<constructor-arg name="user" ref="us1"></constructor-arg>
</bean>