当前位置: 首页 > news >正文

[黑马程序员SSM框架教程] Spring-11-setter注入

  • 思考:向一个类中传递数据要几种?
    • set方法
    • 构造方法
  • 思考:依赖注入描述了在容器中建立bean与bean之间依赖关系的过程,如果bean运行需要数字或字符呢
    • 引用类型
    • 简单类型(基本数据类型和字符串)
      注入方式(4种)
    • setter注入简单和引用类型(学过)
    • 构造器注入简单和引用类型
  • 代码演示:一个service绑定两个dao,以及其中一个dao中的数据插入方式(setter方法)
  • 代码结构
    在这里插入图片描述
    pom文件不变
    两个接口均为save()的方法体
    BookDaoImpl:不变
package com.dao.impl;import com.dao.BookDao;public class BookDaoImpl implements BookDao {public void save() {System.out.println("输出bookbean");}
}

StuDaoImpl:添加两个变量以及他们的set方法用于IOC装载数据

package com.dao.impl;import com.dao.StuDao;public class StuDaoImpl implements StuDao {private String name;private int number;
//set方法是为了让IOC转载数据public void setName(String name) {this.name = name;}public void setNumber(int number) {this.number = number;}
//打印输出public void save() {System.out.println(name+","+number);}
}

BookServiceImpl:多声明一个dao以及对应的set方法

package com.service.impl;import com.dao.BookDao;
import com.dao.StuDao;
import com.service.BookService;public class BookServiceImpl implements BookService {private BookDao bookDao;private StuDao stuDao;public void setBookDao(BookDao bookDao) {this.bookDao = bookDao;}public void setStuDao(StuDao stuDao) {this.stuDao = stuDao;}public void save() {bookDao.save();stuDao.save();}
}

applicationContext.xml:展示数据的装载方式以及一个service绑定两个dao

<?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.dao.impl.BookDaoImpl"></bean><bean id="stuDao" class="com.dao.impl.StuDaoImpl"><!--  对stuDao的实现类中的变量根据名字一一加载   --><property name="name" value="ljh"></property><property name="number" value="191106044"></property></bean><!--  同时加载两个dao  --><bean id="bookService" class="com.service.impl.BookServiceImpl"><property name="bookDao" ref="bookDao"></property><property name="stuDao" ref="stuDao"></property></bean>
</beans>

app启动文件不变

package com;import com.service.BookService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class app {public static void main(String[] args) {ApplicationContext apx = new ClassPathXmlApplicationContext("applicationContext.xml");BookService bookService = (BookService) apx.getBean("bookService");bookService.save();}
}

运行结果:
在这里插入图片描述
总结:可以进行简单的数据配置了,并且一个服务层绑定两个dao。注意在dao层有变量的时候要记得用set方法来让IOC容器找到机会注入数据,服务层声明的接口也一样要用set让IOC找到注入方法

http://www.lryc.cn/news/18230.html

相关文章:

  • Java多线程(一)--多线程基础知识
  • AutoDock, AutoDock-vina等对接工具安装
  • MySQL常见面试题(2023年最新)
  • C# 泛型详解
  • 数据仓库相关术语
  • 【IDEA】常用快捷键
  • 【调试】sysRq按键使用方法
  • Jenkins Pipeline 语法
  • rust语言实现超级简单的杀毒软件,通过哈希扫描病毒。
  • Git仓库中的常用命令
  • arduino和stm32和51和TSM32的区别,树莓派和jetson nano的区别
  • 如何进行nginx的负载配置
  • 从功能测试进阶自动化测试,熬夜7天整理出这一份3000字超全学习指南
  • [NOIP2011 提高组] 铺地毯
  • mac下ElasticSearch 集群搭建,使用Kibana配置和管理集群
  • 【软件测试】自动化测试的追求,水土不服?看看资深测试咋说的......
  • Mac mini 外接移动硬盘无法显示,磁盘工具装载报错显示 com apple diskmanagement disenter
  • 【图像处理OpenCV(C++版)】——4.6 限制对比度的自适应直方图均衡化
  • 设计模式--工厂模式
  • 算法笔记(十三)—— 树形DP及Morris遍历
  • 【Classical Network】EfficientNetV2
  • 索引类型FULLTEXT、NORMAL、SPATIAL、UNIQUE的区别
  • 稳定、可控、高可用:运维最应该加持哪些技术 buff?
  • 动态网站开发讲课笔记02:Java Web概述
  • 如何保护 IP 地址的隐私问题
  • 高并发系统设计之限流
  • ZCMU--5286: Rose的字符串(C语言)
  • MAC下搭建hadoop
  • Python如何实现自动登录和下单的脚本,请看selenium的表演
  • 华为OD机试真题Python实现【关联子串】真题+解题思路+代码(20222023)