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容器获取beanBookService 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 ;@Overridepublic void addBook() {bookDao.save();System.out.println("2022103752  余若凡");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1552350.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

插槽slot在vue中的使用

介绍 在 Vue.js 中&#xff0c;插槽&#xff08;slot&#xff09;是一种用于实现组件内容分发的功能。通过插槽&#xff0c;可以让父组件在使用子组件时自定义子组件内部的内容。插槽提供了一种灵活的方式来组合和复用组件。 项目中有很多地方需要调用一个组件&#xff0c;比…

使用Qt实现实时数据动态绘制的折线图示例

基于Qt的 QChartView 和定时器来动态绘制折线图。它通过动画的方式逐步将数据点添加到图表上&#xff0c;并动态更新坐标轴的范围&#xff0c;提供了一个可以实时更新数据的折线图应用。以下是对代码的详细介绍及其功能解析&#xff1a; 代码概述 该程序使用Qt的 QChartView…

时变电磁场(矢量除了是xyz还是t的函数)的麦克斯韦方程

静电场场的磁场方程与电荷守恒定律的矛盾的根本原因在于电荷守恒定律是时空的函数&#xff0c;静磁场的方程是特殊的空间的函数不含t&#xff0c;让其成为时空的函数就对应上了

【GESP】C++一级练习BCQM3017、BCQM3018,输入后输出

接触输入后&#xff0c;两道简单的读取输入后&#xff0c;按要求输出的变量值的题。基本语法的应用&#xff0c;没什么难度。 题解详见&#xff1a;https://www.coderli.com/gesp-1-bcqm3017-3018/ 【GESP】C一级练习BCQM3017、BCQM3018&#xff0c;输入后输出 | OneCoder接触…

数字化那点事:一文读懂数字孪生

一、数字孪生的定义 数字孪生&#xff08;Digital Twin&#xff09;是指通过数字技术构建的物理实体的虚拟模型&#xff0c;能够对该实体进行全方位、动态跟踪和仿真预测。简单来说&#xff0c;数字孪生就是在一个设备或系统的基础上创造一个数字版的“克隆体”&#xff0c;这…

Agr_Reader 1.7.11 极简优美的RSS阅读器,无广告

Agr Reader是一款简洁、优美、符合Material You风格的RSS阅读器。它不仅提供了强大的全文解析功能&#xff0c;默认支持离线阅读&#xff0c;还具备桌面小组件、自定义样式设置等功能。此外&#xff0c;它支持接入FreshRSS、Tiny Tiny RSS等多种RSS服务&#xff0c;并提供沉浸式…

计算机网络:计算机网络概述 —— 初识计算机网络

文章目录 计算机网络组成部分网络架构协议与标准网络设备网络类型作用实际应用案例 计算机网络 计算机网络是指将多台计算机通过通信设备和通信链路连接起来&#xff0c;以实现数据和信息的交换和共享的技术和系统。它是现代信息社会的基础设施之一&#xff0c;也是互联网的基…

【Spine】引入PhotoshopToSpine脚本

引入 右键Photoshop图标&#xff0c;选择属性 打开文件所在位置 找到目录下的\Presets\Scripts文件夹。 找到Spine目录下的\scripts\photoshop文件夹下的PhotoshopToSpine.jsx 复制它&#xff0c;丢到Photoshop刚才找的那个目录下。 使用 打开.psd文件&#xff0c;检查不要…

(Kafka源码五)Kafka服务端处理消息

Kafka 服务端&#xff08;Broker&#xff09;采用 Reactor 的架构思想&#xff0c;通过1 个 Acceptor&#xff0c;N 个 Processor(N默认为3)&#xff0c;M 个 KafkaRequestHandler&#xff08;M默认为8&#xff09;&#xff0c;来处理客户端请求&#xff0c;这种模式结合了多线…

Android Camera2 与 Camera API技术探究和RAW数据采集

Android Camera2 Android Camera2 是 Android 系统中用于相机操作的一套高级应用程序接口&#xff08;API&#xff09;&#xff0c;它取代了之前的 Camera API。以下是关于 Android Camera2 的一些主要信息&#xff1a; 主要特点&#xff1a; 强大的控制能力&#xff1a;提供…

关于Mac管理员root权限的一些问题总结

&#x1f389; 前言 最近在学习Vue CLI的时候&#xff0c;发现在Vscode里面想要修改文件或者保存文件都会显示“permission denied”&#xff0c;即权限不足。于是想了一些解决方法&#xff0c;记录在此。 &#x1f389; 检查当前用户权限 打开终端&#xff0c;输入以下指令…

好玩的水表电表

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>水表电表</title><style>* {margin:…

从Fast-UMI到Diff-Control:分别改进刷盘机器人UMI的硬件及其所用的扩散策略

前言 24年9.28日下午&#xff0c;微信上的好友丁研究员和我说 hi 周总&#xff0c;我们基于umi改进了一下——弄了一个用户友好的采集系统(当然&#xff0c;现在这个版本还比较初级 后续不断迭代)项目网站为&#xff1a;https://fastumi.com/ 技术报告见&#xff1a;https://…

“洗盘后的曙光:利用通达信选股器捕捉二次拉升股”

在一波上涨行情之后&#xff0c;投资者往往会遇到股票的回调。这时&#xff0c;市场上的两种声音开始交织&#xff1a;一种是认为这是洗盘&#xff0c;即主力在为下一轮拉升做准备&#xff1b;另一种则认为这是出货&#xff0c;主力在悄悄撤离。如何分辨这两者&#xff0c;给大…

基于Leaflet和天地图的细直箭头和突击方向标绘实战

目录 前言 一、细直箭头和突击方向的类设计 1、总体类图 2、对象区别 二、标绘绘制的具体实现 1、绘制时序图 2、相关点的具体绘制 3、最终的成果 三、总结 前言 今天是10月1日国庆节&#xff0c;迎来我们伟大祖国75周年的华诞。有国才有家&#xff0c;在这里首先祝我们…

Python 如何使用 Pandas 进行数据分析

Python 如何使用 Pandas 进行数据分析 在数据分析领域&#xff0c;Python 是非常流行的编程语言&#xff0c;而 Pandas 是其中最重要的库之一。Pandas 提供了高效、灵活的数据结构和工具&#xff0c;专门用于处理和分析数据。对于数据分析新手来说&#xff0c;理解如何使用 Pa…

Linux数据备份

1、Linux服务器中哪些数据需要备份 1&#xff09;Linux系统重要数据&#xff1a; ①/root/目录&#xff0c;管理员家目录 ②/home/目录&#xff0c;普通用户家目录 ③/etc/目录 &#xff0c;系统重要的配置文件保存目录 2&#xff09;安装服务的数据&#xff1a;例apache①…

MySQL安装与环境配置(Windows系统 MySQL8.0.39)

目录 MySQL8.0.39工具下载安装开启方式可视化开启命令方式开启 环境配置 MySQL8.0.39 工具 系统&#xff1a;Windows 11 参考视频&#xff1a; 黑马程序员 MySQL数据库入门到精通&#xff0c;从mysql安装到mysql高级、mysql优化全囊括 P3 https://www.bilibili.com/video/BV1…

NodeJS下载、安装及环境配置教程,内容详实

文章目录 概述关于本文NodeJS介绍 安装步骤 概述 关于本文 本文讲解如何在Windows系统中安装NodeJS并配置相关环境。 NodeJS介绍 Node.js&#xff08;通常简称为Node&#xff09;是一个开源、跨平台的JavaScript运行时环境&#xff0c;它允许开发者在服务器端运行JavaScrip…

番茄间的一分钟休息

很多人喜欢使用番茄工作法&#xff0c;在25分钟内集中工作。这种方法提高了25分钟内的工作效率&#xff0c;但是也增加了自己的疲劳程度。 我建议&#xff0c;在25分钟的工作时间内&#xff0c;要保持对自己身体的觉察。如果感觉呼吸短促&#xff0c;有一些紧张&#xff0c;用…