Eric小屋

  • IoC入门案例思路分析
  • 步骤1:创建Maven项目
  • 步骤2:添加Spring的依赖jar包 到pom.xml (bean定义时的id属性在同一个上下文中不能重复)
  • 步骤3:添加案例中需要的类
  • 步骤4:添加spring配置文件
  • 步骤5:在配置文件中完成bean的配置
  • 步骤6:获取IOC容器
  • 步骤7:从容器中获取对象进行方法调用
  • 步骤8:运行程序
  • 首页
  • 学习笔记
    • JAVA
    • Spring
    • Node.js
    • Vue
  • 学习文档
  • 案例项目
  • 课程笔记
  • 问题解决
登录

IoC 入门案例

  • Eric
  • 2024-03-07
  • 0

IoC入门案例思路分析

1、管理什么?(Service与Dao)

2、如何将被管理的对象告知IoC容器?(配置)

3、被挂里的对象交给IoC容器,如何获取到IoC容器(接口)

4、IoC容器得到后,如何从容器中获取bean?(接口方法)

5、使用Spring导入哪些坐标?(pom.xml)


步骤1:创建Maven项目
步骤2:添加Spring的依赖jar包 到pom.xml (bean定义时的id属性在同一个上下文中不能重复)
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
步骤3:添加案例中需要的类

创建BookService,BookServiceImpl,BookDao和BookDaoImpl四个类

public interface BookDao {
    public void save();
}

public class BookDaoImpl implements BookDao {
    public void save() {
        System.out.println("book dao save ...");
    }
}

public interface BookService {
    public void save();
}

public class BookServiceImpl implements BookService {
    private BookDao bookDao = new BookDaoImpl();
    public void save() {
        System.out.println("book service save ...");
        bookDao.save();
    }
}
步骤4:添加spring配置文件

resources下添加spring配置文件applicationContext.xml,并完成bean的配置

步骤5:在配置文件中完成bean的配置
<?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标签标示配置bean
    	id属性标示给bean起名字
    	class属性表示给bean定义类型
	-->
    <bean id="bookDao" class="com.ericw.dao.impl.BookDaoImpl"/>
    <bean id="bookService" class="com.ericw.service.impl.BookServiceImpl"/>

</beans>

==注意事项:bean定义时id属性在同一个上下文中(配置文件)不能重复==

步骤6:获取IOC容器

使用Spring提供的接口完成IOC容器的创建,创建App类,编写main方法

public class App {
    public static void main(String[] args) {
        //获取IOC容器
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    }
}
步骤7:从容器中获取对象进行方法调用
public class App2 {
    public static void main(String[] args) {
//        获取IoC容器
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
//        获取Bean
        BookService bookService = (BookService) ctx.getBean("bookService");
//        运行输出bookservice
        bookService.save();
    }
}
步骤8:运行程序

测试结果为:

Spring的IOC入门案例已经完成,但是在BookServiceImpl的类中依然存在BookDaoImpl对象的new操作,它们之间的耦合度还是比较高,这块该如何解决,就需要用到下面的DI:依赖注入。

联系作者:2572976830@qq.com
© 2025 Eric小屋
Theme by Wing
京ICP备2023032157号 京公网安备11011402053616号
  • {{ item.name }}
  • {{ item.name }}