依赖注入
class Role{
属性
public Role(String name,String sex){
this.name =name;
this.sex = sex;
}
getter &&setter
}
复制代码
<bean id="role" class="Role">
<constructor-arg index="0" value="名称"/>
<constructor-arg index="1" value="性别"/>
</bean>
复制代码
class Role{
public String name;
public String sex;
getter &&setter
}
复制代码
<bean name="role" class="Role">
<property name="name" value="名称"/>
<property name="sex" value="男"/>
</bean>
复制代码
package pojo;
import java.util.*;
/**
* 复杂类型xml装配
*/
public class ComplexAssembly {
private Long id;
private List<String> list;
private Set<String> set;
private Map<String,String> map;
private Properties properties;
private String[] array;
@Override
public String toString() {
return "ComplexAssembly{" +
"id=" + id +
", list=" + list +
", set=" + set +
", map=" + map +
", properties=" + properties +
", array=" + Arrays.toString(array) +
'}';
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Set<String> getSet() {
return set;
}
public void setSet(Set<String> set) {
this.set = set;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
public String[] getArray() {
return array;
}
public void setArray(String[] array) {
this.array = array;
}
}
复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- User Bean -->
<bean name="ComplexAssembly" class="pojo.ComplexAssembly">
<property name="id" value="1"/>
<property name="list">
<list>
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</property>
<property name="set">
<set>
<value>set1</value>
<value>set2</value>
<value>set3</value>
</set>
</property>
<property name="map">
<map>
<entry key="key1" value="vaule-key1"></entry>
</map>
</property>
<property name="properties">
<props>
<prop key="prop1">value1-prop</prop>
<prop key="prop1">value-prop</prop>
</props>
</property>
<property name="array">
<list>
<value>str1</value>
<value>str2</value>
</list>
</property>
</bean>
</beans>
复制代码
@Test
public void fun1(){
//这是现在的方法
Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory beanFactory = new DefaultListableBeanFactory();
BeanDefinitionReader bdr = new XmlBeanDefinitionReader((BeanDefinitionRegistry)beanFactory);
bdr.loadBeanDefinitions(resource);
ComplexAssembly complexAssembly = (ComplexAssembly) beanFactory.getBean("ComplexAssembly");
System.out.println(complexAssembly.getArray().length);
//这是原来的放法,XmlBeanFactory已经废弃
Resource resource1 = new ClassPathResource("applicationContext.xml");
BeanFactory beanFactory1 = new XmlBeanFactory(resource1);
ComplexAssembly complexAssembly1 = (ComplexAssembly) beanFactory1.getBean("ComplexAssembly");
System.out.println(complexAssembly1.getArray().length);
}
复制代码