spring学习笔记七

一、自动装配

1.1、BookDao接口和实现类

java 复制代码
public interface BookDao {
    void save();
}
public class BookDaoImpl implements BookDao {
    public void save(){
        System.out.println("book dao save......");
    }
}

1.2、BookService接口和实现类

java 复制代码
public interface BookService {
    void save();
}
public class BookServiceImpl implements BookService {
    private BookDao bookDao;
    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }
    public void save(){
        bookDao.save();
    }
}

1.3、配置文件

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">
    <bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl" ></bean>
    <bean id="bookService" name="service" class="com.itheima.service.impl.BookServiceImpl" autowire="byType"></bean>
</beans>

1.4、使用方法

java 复制代码
public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        BookService bookService = (BookService) ctx.getBean("service");
        bookService.save();
    }

1.5、总结

  • 在配置文件中添加autowire属性为byType
  • spring会按照BookDao类型找到对应的Bean实现注入
相关推荐
江湖人称小鱼哥1 小时前
Obsidian-Graphify-让你的笔记库自己长出知识图谱
笔记·知识图谱·obsidian·claude code·graphify·卡帕西
希望永不加班2 小时前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
苦 涩3 小时前
考研408笔记之计算机网络(三)——数据链路层
笔记·计算机网络·考研408
码喽7号3 小时前
Vue学习七:MockJs前端数据模拟
前端·vue.js·学习
eggwyw3 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
三品吉他手会点灯3 小时前
STM32F103 学习笔记-21-串口通信(第4节)—串口发送和接收代码讲解(中)
笔记·stm32·单片机·嵌入式硬件·学习
云烟成雨TD4 小时前
Spring AI Alibaba 1.x 系列【22】Agent 并行工具执行与超时 / 协作式取消实战
java·人工智能·spring
雾岛听蓝4 小时前
Qt操作指南:窗口组成与菜单栏
开发语言·经验分享·笔记·qt
张涛酱1074565 小时前
Subagent Orchestration 深入解析:多Agent协作的层级架构
spring·设计模式·ai编程
EnglishJun5 小时前
ARM嵌入式学习(二十三)--- I2C总线和SPI总线
arm开发·学习