栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ioc框架(ioc实现)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ioc框架(ioc实现)

文章目录

1. IOC概念

1.1 概念简述1.2 示例详解

1.2.1 代码块示例1.2.2 IOC示例详解 2. IOC使用

2.1 添加依赖2.2 向Spring容器中配置对象2.3 从Spring容器中获取对象


1. IOC概念 1.1 概念简述

  控制反转:指对一个对象的控制权的反转。开发者将对象的控制权交由Spring容器去管理。

1.2 示例详解 1.2.1 代码块示例
@Data
public class Book {
   private Integer id;
   private String name;
   private Double price;
}

public class User {
   private Integer id;
   private String name;
   private Integer age;

   public void doSth() {
       Book book = new Book();
       book.setId(3);
       book.setName("西游记");
       book.setPrice((double) 6);
   }
}
1.2.2 IOC示例详解

  Book 对象的控制权在 User 对象里边,这样的话Book 和 User 高度耦合。如果在其他对象中需要使用 Book 对象,得重新创建,即对象的创建、初始化、销毁等操作,统统都要开发者自己来完成。如果能够将这些操作交给容器来管理,开发者就可以极大的从对象的创建中解脱出来。使用 Spring 之后,我们可以将对象的创建、初始化、销毁等操作交给 Spring 容器来管理。即项目启动时,所有的 Bean 都将自己注册到 Spring 容器中去(如果有必要的话),然后如果其他 Bean 需要使用到这个 Bean ,则不需要自己去 new,而是直接去 Spring 容器去要。

2. IOC使用

以Xml文件注入Bean为例来做演示,使用AbstractXmlApplicationContext来获取Spring容器。

2.1 添加依赖

  先创建一个普通的 Maven 项目,然后引入 spring-context 依赖:


    
        org.springframework
        spring-context
        
        5.1.9.RELEASE
    

2.2 向Spring容器中配置对象

  在resources目录下创建一个spring的配置文件:applicationContext.xml。(注意,一定要先添加依赖,后创建配置文件,否则创建配置文件时,没有模板选项)。




    
    

2.3 从Spring容器中获取对象

  在main方法中使用ClassPathXmlApplicationContext来加载配置文件,这时Spring容器会将配置文件中定义的Bean全部创建并管理。此后,我们只需要从Spring容器中获取该对象即可,无需开发者自行创建对象;从而完成了对象控制权的反转。

使用ClassPathXmlApplicationContext是去classpath下加载配置文件;
我们也可以使用 FileSystemXmlApplicationContext,它会从操作系统路径下去寻找配置文件。

public class Main {
    public static void main(String[] args) {
        // 加载Spring的配置文件:Spring容器会自动加载配置文件中定义的Bean
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        // 从Spring容器中获取对象
        Book book = (Book) ctx.getBean("book");
        // 输出Spring容器中管理的对象
        System.out.println(book);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773196.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号