Spring入门1---IOC

spring艳 2020-06-13

一、Java web发展史

  1. JavaBean + Servlet + JSP逐步发展
  2. 面对EJB重量级框架带来的种种麻烦
  3. SpringMVC/Struts+Spring+Hibernate/myBatis
  4. SpringBoot“约定大于配置”的种种乐趣
  5. 以Dubbo为代表的SOA微服务架构体系
  6. SpringCloud微服务架构技术生态圈

二、IoC(Inversion of Control)

1.IoC是什么?

IoC:Inversion of Control,控制反转、依赖注入

  1. 控制:控制对象的创建及销毁(生命周期)
  2. 反转:将对象的控制权交给IoC容器

2.IoC存在的意义

  1. 所有依赖的关系被集中统一的管理起来,清晰明了。
  2. 每个类只需要关注于自己的业务逻辑。
  3. 容易修改依赖关系。

3.用SpringIoC完成对Bean声明周期的管理

  1. 所有Bean的生命周期交由IoC容器管理;
  2. 所有被依赖的Bean通过构造方法执行注入;
  3. 被依赖的Bean需要优先创建。

把一个java bean交给spring管理,有三步骤:

(1)创建xml格式的配置文件

(2)将一个Bean交由Spring创建并管理

(3)获取Spring上下文

<?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交由Spring创建并管理-->
    <bean id="bean" class="com.huawei.spring.ioc.Bean" />
</beans>

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class JunitTestDemo {

    @Test
    public void test() {
        ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
        Bean bean = context.getBean("bean", Bean.class);
        System.out.println("bean = " + bean);
    }
}

相关推荐

kyle00 / 0评论 2020-05-07