IoC入门案例

发布时间 2023-05-07 15:10:25作者: YE-

跟着黑马,简单写一个小的测试程序,学习一下IoC

第一步,导入Spring的坐标Spring-context,对应的版本是2.1.10.RELEASE

黑马刚开篇讲的是,springframework,需要用到这个maven依赖

 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>

Ps.别忘了加一下junit测试依赖

第二步,配置所需的bean

解释一下各类的标签作用吧

bean标签表示配置bean
id属性表示给bean起名字
class属性表示给bean定义类型

第三步,获取IoC容器

第四步,获取bean

运行测试结果

我是根据黑马这期课程学的,有兴趣的朋友可以自己尝试一下
https://www.bilibili.com/video/BV1Fi4y1S7ix?p=6&vd_source=05d486328adc7a106efad2adad535e45

附上目录和代码吧

applicationContext.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 http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--1.导入Spring的坐标Spring-context,对应的版本是2.1.10.RELEASE-->
    <!--2.配置bean-->
<!--    bean标签表示配置bean-->
<!--    id属性表示给bean起名字-->
<!--    class属性表示给bean定义类型-->

    <bean id="bookDao" class="org.example.dao.impl.BookDaoImpl"></bean>

    <bean id="bookService" class="org.example.service.impl.BookServiceImpl"></bean>

</beans>

App2.java

package org.example;

import org.example.dao.BookDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App2 {
    public static void main(String[] args) {
        //3.获取IoC容器
        ApplicationContext ctx = new  ClassPathXmlApplicationContext("applicationContext.xml");

        //4.获取bean
        BookDao bookDao = (BookDao) ctx.getBean("bookDao");

        bookDao.save();



    }
}

BookDaoImpl

package org.example.dao.impl;


import org.example.dao.BookDao;

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

BookDao

package org.example.dao;

public interface BookDao {
    public void save();
}

BookServiceImpl

package org.example.service.impl;


import org.example.dao.BookDao;
import org.example.dao.impl.BookDaoImpl;
import org.example.service.BookService;

public class BookServiceImpl implements BookService {
    //5.删除业务层中使用new的方式创建的dao对象
    private BookDao bookDao = new BookDaoImpl();

    public void save() {
        System.out.println("book service save ...");
        bookDao.save();
    }
    //6.提供对应的set方法
    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }
}

BookService

package org.example.service;

public interface BookService {
    public void save();
}