Spring IOC初步学习(1)

IOC核心思想

IOC控制反转:将程序的主动权交给用户而不是程序员。 这样在代码的控制上会十分的方便。 具体调用哪一个方法通过程序运行的set方法动态选择。

简单例子

编写一个类(一定要有Get Set方法!)

package Demo;

public class Firstdemo {
    private String str;

    public String getStr() {
        return str;
    }

    public void setStr(String str) {
        this.str = str;
    }
}

在resource目录下新建一个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
        https://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--使用Spring来创建我们的对象-->
    <bean id="test" class="Demo.Firstdemo">
        <!--id 是唯一识别 class为对应的类-->
    <property name="str" value="Spring"/>
        <!--设置类属性值-->
    </bean>
</beans>

测试代码

import Demo.Firstdemo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Mytest {
    public static void main(String[] args) {
        //使用xml加载时就用这个
        ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
        Firstdemo test = (Firstdemo) context.getBean("test");
        System.out.println(test.getStr());
    }
}

几个问题

对象是由谁创建的?
由Spring来创建
对象的值是由谁设置的?
由Spring设置

使用Spring来创建对象,在Spring中对象被称为Bean

所谓的IOC就是对象的创建,管理,装配全部由Spring实现

posted @ 2021-03-25 19:47  一个经常掉线的人  阅读(41)  评论(0)    收藏  举报