配置环境
- 项目右键点击Build path 然后点击Configure Build path
- 点击Libraries ,addLibraries
- 点击MyEclipse Library 然后next
- 找到spring 选择一个版本
配置spring-config.xml
- 去spring-framework-4.3.9.RELEASE-dist\spring-framework-4.3.9.RELEASE\docs\spring-framework-reference\html路径下找到beans
- 复制上面的配置即可
- 创建xml的时候要在项目下创建一个名为cfg的Source Folder,把Spring-config.xml放在这个目录下,要不然会报错
<?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">
</beans>
POJO类省略
属性和无参构造方法,get,set方法
一.简单的xml装配(装配简易值)
spring.xml
<bean id="student" class="com.qyc.SpringDemo.StudentPojo">
<property name="nameString" value="强月城"></property>
<property name="idString" value="2017011418"></property>
</bean>
main.java (注意:通过ClassPathXmlApplicationContext创建applicationContext对象,然后调用getBean方法装配POJO对象)
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-config.xml");
School school = (School) applicationContext.getBean("school");
System.out.println(school.toString());
二.装配集合(List Set Map)
spring.xml
<bean id="gather" class="com.qyc.SpringDemo.Gather">
<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="1" value="map1"></entry>
<entry key="2" value="map2"></entry>
<entry key="3" value="map3"></entry>
</map>
</property>
</bean>
main.java
Gather gather = (Gather) applicationContext.getBean("gather");
List<String> list = gather.getList();
System.out.println(list);
Set<String> set = gather.getSet();
System.out.println(set);
Map<String, String> map = gather.getMap();
Set<String> key = map.keySet();
System.out.println(key);
for(String k:key) {
System.out.println(map.get(k));
}
三.装配复杂的集合
<bean id="student" class="com.qyc.SpringDemo.StudentPojo">
<property name="nameString" value="强月城"></property>
<property name="idString" value="2017011418"></property>
</bean>
<bean id="school" class="com.qyc.SpringDemo.School">
<property name="name" value="清华"></property>
<property name="nj" value="大三"></property>
</bean>
<bean id="student1" class="com.qyc.SpringDemo.StudentPojo">
<property name="nameString" value="qyc"></property>
<property name="idString" value="2017011418"></property>
</bean>
<bean id="school1" class="com.qyc.SpringDemo.School">
<property name="name" value="北大"></property>
<property name="nj" value="大三"></property>
</bean>
<bean id="SchoolStudentPro" class="com.qyc.SpringDemo.SchoolStudentPro">
<property name="list">
<list>
<ref bean="student"/>
<ref bean="student1"/>
</list>
</property>
<property name="map">
<map>
<entry key-ref="school" value-ref="student"></entry>
<entry key-ref="school1" value-ref="student1"></entry>
</map>
</property>
</bean>
SchoolStudentPro schoolStudentPro = (SchoolStudentPro) applicationContext.getBean("SchoolStudentPro");
List<StudentPojo> list = schoolStudentPro.getList();
System.out.println(list);
Map<School, StudentPojo> map = schoolStudentPro.getMap();
System.out.println(map.values());
Set<School> set = map.keySet();
for(School school:set) {
System.out.println(school);
System.out.println(map.get(school));
}
[StudentPojo [nameString=强月城, idString=2017011418], StudentPojo [nameString=qyc, idString=2017011418]]
[StudentPojo [nameString=强月城, idString=2017011418], StudentPojo [nameString=qyc, idString=2017011418]]
School [name=清华, nj=大三]
StudentPojo [nameString=强月城, idString=2017011418]
School [name=北大, nj=大三]
StudentPojo [nameString=qyc, idString=2017011418]
四.构造器注入
<bean id="student" class="com.qyc.constructor.Students">
<constructor-arg index="0" value="强月城"></constructor-arg>
<constructor-arg name="id" value="2017011418"></constructor-arg>
</bean>
package com.qyc.constructor;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestDemo {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
Students students = (Students) applicationContext.getBean("student");
System.out.println(students);
}
}
DEBUG 11-22 15:13:37,504 Returning cached instance of singleton bean 'student' (AbstractBeanFactory.java:251)
Studentzd [name=强月城, id=2017011418]