public class Student {
private Integer id;
private String name;
private List<String> dream;
private Map<String, Integer> score;
private boolean graduation;
public Student() {
}
public Student(Integer id, String name, List<String> dream,
Map<String, Integer> score, boolean graduation) {
this.id = id;
this.name = name;
this.dream = dream;
this.score = score;
this.graduation = graduation;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", dream=" + dream
+ ", score=" + score + ", graduation=" + graduation + "]";
}
}
(2)、xml配置:
<bean id="student" class="com.rc.sp.Student">
<constructor-arg name="id" value="1"/>
<constructor-arg name="name" value="student"/>
<constructor-arg name="dream">
<list>
<value>soldier</value>
<value>scientist</value>
<value>pilot</value>
</list>
</constructor-arg>
<constructor-arg name="score">
<map>
<entry key="math" value="90"/>
<entry key="english" value="85"/>
</map>
</constructor-arg>
<constructor-arg name="graduation" value="false"/>
</bean>
我觉得这篇是解释的比较清楚的一篇博客 。
这我还有一个自己的示例:
<bean id="jedisUtils" class="cms.common.util.JedisUtils" >
<constructor-arg type="java.lang.String" value="classpath:application.properties" />
</bean>
这里 constructor-arg 其实是可以直接带参数的
public final class JedisUtils {
private JedisPool jedisPool = null;
private Map<String, String> config = null;
private JedisProxy jedisProxy = null;
public JedisUtils(String path){
Map<String, String> config = null;
try {
config = MiscUtils.convertPropertiesFileToMap(path);
} catch (Exception e) {
}
if(config==null){
config = new HashMap<String,String>();
}
this.config=config;
}
}
constructor-arg属性通过指定type 类型来调用对应的构造函数,
这里是通过构造函数来初始化 jedis 对象
调用时
@Autowired(required=true)
private JedisUtils jedisUtils;