一、ioc是什么?--ioc(控制反转)不是一种技术,而是一种编程思想。
ioc(控制反转)、Aop(切面技术)两者是spring的核心。
“控制”--指控制对象的创建--传统的对象创建是由程序控制的,而使用spring后变为由spring控制对象的创建。
“反转”--指权限的反转--由程序创建对象变为被动的接收对象。
二、准备工作
下载安装包:根据eclipse版本信息,下载相应的jar包。
在项目下创建文件夹(Folder),将jar包粘贴进去,后bulid path。
创建配置文件:beans.xml,并书写内容。
三、spring的优势
例如:(核心:使用spring创建对象(在beans.xml完成)、在beans.xml中装配对象属性)
Hello.class:
package cn.sxt.bean;
public class Hello {
private String name;
public void setName(String name) {
this.name = name;
}
public void show() {
System.out.println("hello," + name);
}
}
Text.class:
package cn.sxt.text;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.sxt.bean.Hello;
public class Text {
public static void main(String[] args) {
//获取上下文:解析beans.xml文件,生成相应的bean对象
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
Hello hello=(Hello)context.getBean("hello");
hello.show();
}
}
beans.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">
<!--bean就是java对象,由spring来创建和管理 -->
<bean name="hello" class="cn.sxt.bean.Hello">
<property name="name" value="zhangsan"></property>
</bean>
</beans>
四、与上篇spring01的区别
spring01中对象的创建是由程序执行的,而spring02中对象的创建及对象属性的装配在beans.xml完成,由spring来创建。
五、使用spring的好处
当需要创建的对象发生改变时,传统的方法需要改变源码;而在使用spring后,创建对象发生变化时,只需要改变配置文件中的内容,不用改变源码,降低了各层之间的耦合性(即:解耦)。