spring框架2 DI入门

每次创建maven项目时都要点击设置看一眼配置,需要修改就改一下,改成所存放的位置地址

 属性生成:bean值之间的关系

写了一个私有属性

写private BookDao bookDao右键生成,通过setter方法注入一下

点击

确定

 DI入门

DI:依赖注入

单例模式和非单例模式

在单例模式下默认所有对象为true

非单例模式下值为false

代码

 APP1:初始化ioc容器

import dao.BookDao;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.BookService;

public class APP1 {
    public static  void main(String[] args) {
        //1.配置解析文件,引号写入xml文件的名字
        ClassPathXmlApplicationContext ioc
                = new ClassPathXmlApplicationContext("SpringContent.xml");
        // 2.通过工厂ioc容器获取bean
        BookService bookService =(BookService) ioc.getBean("bookService");
        // 3.使用功能
        bookService.addBook();
        //4.关闭资源
       /* BookDao bookDao2 = (BookDao) ioc.getBean("bookDao2");*/

    }
}

 xml:配置service与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: id:对象名  class:对象名  name任何命名在bean里面,APP依然可以调用
   property: ref代表你参照了哪个bean对象   name代表我们注入的属性-->
    <bean id="bookDao"   class="dao.impl.BookDaoImpl"></bean>
    <bean id="bookService"   class="service.impl.BookServiceImpl">
        <property name="bookDao" ref="bookDao"> </property>

    </bean>

</beans>

BookServiceImpl:在这里调用dao包中的方法

package service.impl;
import dao.BookDao;
import javafx.scene.canvas.GraphicsContext;
import service.BookService;



public class BookServiceImpl implements BookService {
    /*创建DI属性*/
    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    private BookDao bookDao ;
    @Override
    public void addBook() {
        bookDao.save();
        System.out.println("2022103752  余若凡");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值