1.Spring的IOC理解:
OC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生
2.编写Spring的程序:
1)引入Spring相关的jar包。(可以从官网下载,下载之后将lib下的jar包拷贝到项目中,另外一种方式是通过myeclipse去完成…..)
like:直接在MyEclipse内倒入包:右键--MyEclipse--Project Facets--选择含Spring的项
2)编写applicationContext.xml配置文件(将java的对象注入到IOC容器里)。比如:
<?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-3.1.xsd">
<bean id="womanbean" class="com.gxa.bj.pojo.Woman">
<property name="name" value="张美丽"></property>
</bean>
</beans>
3.)调用Spring相应的程序处理:
ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
Woman woman = appContext.getBean("womanbean", Woman.class);
System.out.println("通过IOC找到的这个美女的名字:"+woman.getName());(记倒起写入口函数)
3.在Spring中如何注入一个对象?
分类:
1)set注入(属性注入)。(无参构造函数)
<bean id="womanbean" class="com.gxa.bj.pojo.Woman">
<property name="name" value="祝英台"></property>
<property name="age" value="25"></property>
<property name="typeName" value="貌美肤白"></property>
</bean>
<bean id="manbean" class="com.gxa.bj.pojo.Man">
<property name="name" value="老王"></property>
<property name="typeName" value="爱"></property>
<property name="woman" ref="womanbean"></property>
</bean>
其中ref是引用womanbean中的数据
列子:建立一个包com.gxa.bj.pojo
建立两个类型:Man,Woman在其中写入相应的类型字段
要在Man中找到关于Woman的数据,在Man中多加一条:
private Woman woman;
写相应的实现代码:
ApplicationContext appContext=new ClassPathXmlApplicationContext("applicationContext.xml");
Woman woman=appContext.getBean("womanbean",Woman.class);
System.out.println("通过IOC找到的这个美女的名字:"+woman.getName()+"美女年龄:"+woman.getAge()+"美女类型:"+woman.getTypeName());
Man man=appContext.getBean("manbean",Man.class);
System.out.println(man.getName()+"爱:"+man.getWoman().getName());
2)构造函数的注入
<bean id="fanbingbing" class="com.gxa.bj.pojo.Woman">
<constructor-arg value="28" name="_age" >
</constructor-arg>
<constructor-arg value="范冰冰" name="_name" type="java.lang.String">
</constructor-arg>
<constructor-arg value="性感" name="_womanType" type="java.lang.String"></constructor-arg>
</bean>
一般都选择set注入