• Spring(二)Ioc 和 DI 入门案例


    一、IoC 入门案例

    1. 思路分析

    (1)Spring 是使用容器来管理 bean 对象的

    主要管理项目中所使用到的类对象,比如(Service 和 Dao)

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

    使用配置文件

    (3)被管理的对象交给 IoC 容器,要想从容器中获取对象,就先得思考如何获取到 IoC 容器

    Spring框架提供相应的接口

    (4)IoC 容器得到后,如何从容器中获取bean?

    调用Spring框架提供对应接口中的方法

    2. 代码实现

    2.1 导入 spring 的坐标 spring-context

    2.2 配置文件,配置 bean

    2.3 获取Ioc 容器

    2.4 获取 bean

    1. public class App2 {
    2. public static void main(String[] args) {
    3. //3.获取IOC容器
    4. ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    5. //4.获取Bean
    6. BookDao bookDao = (BookDao) ctx.getBean("bookDao");
    7. bookDao.save();
    8. BookService bookService = (BookService) ctx.getBean("bookService");
    9. bookService.save();
    10. }
    11. }

    二、DI 入门案例

    1. 思路分析

    (1)要想实现依赖注入,必须要基于 IoC 管理 Bean

    (2)Service 中使用 new 形式创建的 Dao 对象是否保留?

    需要删除掉,最终要使用 IoC 容器中的 bean 对象

    (3)Service 中需要的 Dao 对象如何进入到 Service 中

    在 Service 中提供方法,让 Spring 的 IoC 容器可以通过该方法传入 bean 对象

    (4)Service与Dao间的关系如何描述

    使用配置文件

    2. 代码实现

    2.1 去除代码中的new

    2.2 提供对应的set方法

    1. public class BookServiceImpl implements BookService {
    2. //5.删除业务层中使用new的方式创建的dao对象
    3. // private BookDao bookDao = new BookDaoImpl();
    4. private BookDao bookDao;
    5. @Override
    6. public void save() {
    7. System.out.println("book service save");
    8. bookDao.save();
    9. }
    10. //6.提供对应的set方法
    11. public void setBookDao(BookDao bookDao) {
    12. this.bookDao = bookDao;
    13. }
    14. }

    2.3 修改配置完成注入

  • 相关阅读:
    加速度jsudo:小企业会遇到哪些瓶颈期?
    猿创征文 | Docker笔记:Docker网络知识介绍
    漫画sql数据分析
    mybatis03与spring的集成
    数据结构:队列
    SpringCloud 05 Eureka集群环境配置和CAP
    Linux安全—iptables详解(概念和filter表)
    【ASM】字节码操作 工具类与常用类 LocalVariablesSorter 源码介绍以及原理介绍
    TYVJ P1023 奶牛的锻炼
    Meta Llama 3 里面装饰器
  • 原文地址:https://blog.csdn.net/yirenyuan/article/details/127679975