spring02 ioc

来源:互联网 发布:三星手机恢复软件 编辑:程序博客网 时间:2024/06/07 06:12

一、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后,创建对象发生变化时,只需要改变配置文件中的内容,不用改变源码,降低了各层之间的耦合性(即:解耦)。