运用 Spring IOC 容器创建对象,并且给对象中复杂类型注入属性值。
搭建 Spring 的开发环境,运用 Spring IOC 容器创建对象,并且给对象中复杂类型注入属性值。
pom.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>SpringDemo06</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!--添加Spring核心容器支持包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
</dependencies>
</project>
核心配置文件:
<?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.xsd">
<!--复杂类型注入属性值-->
<bean id="myBean" class="net.haicoder.entity.MyBean">
<!--1.数组类型注入-->
<property name="array">
<array>
<value>广东</value>
<value>上海</value>
</array>
</property>
<!--2.List集合注入-->
<property name="list">
<list>
<value>江苏</value>
<value>四川</value>
</list>
</property>
<!--3.Map集合注入-->
<property name="map">
<map>
<entry key="001" value="张三"/>
<entry key="002" value="李四"/>
</map>
</property>
<!--4.Set集合注入-->
<property name="set">
<set>
<value>华为</value>
<value>小米</value>
</set>
</property>
<!--5.Properties类型注入-->
<property name="props">
<props>
<prop key="001">Tom</prop>
<prop key="002">Tony</prop>
</props>
</property>
</bean>
</beans>
实体类:
public class MyBean {
//定义集合类型(复杂类型)
private String[] array;
private List<String> list;
private Map<String,String> map;
private Set<String> set;
private Properties props;
public MyBean() {
}
public String[] getArray() {
return array;
}
public void setArray(String[] array) {
this.array = array;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public Set<String> getSet() {
return set;
}
public void setSet(Set<String> set) {
this.set = set;
}
public Properties getProps() {
return props;
}
public void setProps(Properties props) {
this.props = props;
}
@Override
public String toString() {
return "MyBean{" +
"array=" + Arrays.toString(array) +
", list=" + list +
", map=" + map +
", set=" + set +
", props=" + props +
'}';
}
}
测试类:
public class test {
public static void main(String[] args) {
System.out.println("嗨客网(www.haicoder.net)\n");
// 通过配置文件获取Spring的IOC容器
ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
// 从IOC容器中获取对象
MyBean myBean = (MyBean) act.getBean("myBean");
System.out.println(myBean);
}
}
运行结果,如下图:
以上案例运用 Spring IOC 容器创建对象,并且给对象中复杂类型注入属性值。