今天初学spring框架,也见识了spring的冰山一角,先写一个spring的小demo梳理下今天的知识。
1. demo结构
最终结构要导的jar包
2. pojo类
Student类属性:
- stu_id(int)
- stu_name(String)
- cources(List<String>)
Teacher类属性:
- t_id(int)
- t_name(String)
- stuMap(Map<Integer,Student>)
实现无参、有参构造函数,Getter&Setter方法。
3. spring配置文件 applictionContext.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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="student" class="demo.cyj.pojo.Student">
<property name="s_id" value="1"></property>
<property name="s_name" value="黑拐"></property>
<property name="courses">
<list>
<value>语文</value>
<value>数学</value>
<value>英语</value>
</list>
</property>
</bean>
<bean id="teacher" class="demo.cyj.pojo.Teacher">
<property name="t_id" value="1"></property>
<property name="t_name" value="htc"></property>
<property name="stuMap">
<map>
<entry key="1" value-ref="student"></entry>
<entry key="2" value-ref="student"></entry>
<entry key="3" value-ref="student"></entry>
</map>
</property>
</bean>
</beans>
4. 测试类
package demo.cyj.pojo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
//获取配置文件信息
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//通过spring获取Student对象
Student student = ac.getBean(Student.class);
Student stu = ac.getBean(Student.class);
System.out.println(student);
System.out.println(stu);
Teacher teacher = ac.getBean(Teacher.class);
System.out.println(teacher);
}
}
运行结果
运行结果因为我在写的时候没有重写toString方法,所以打印的是hashCode,恰好发现一个现象,每个Student的HashCode都是一样的,那说明了spring中使用的是单例模式。
网友评论