Spring第三方bean管理

news2024/11/18 2:56:54

文章目录

    • 1.第三方bean管理
      • 1.1 @Bean
      • 1.2 小结
    • 2.第三方bean依赖注入
      • 2.1 简单类型:成员变量
      • 2.2 引用类型:方法形参
      • 2.3 小结
    • 3.总结

1.第三方bean管理

1.1 @Bean

首先看一下目录结构,APP里面就初始化了SpringConfig文件
在这里插入图片描述
SpringConifg中就一句话,管理第三方bean由于不能将配置写到别人的源代码中。所以必须通过编程的方式来配置了
在这里插入图片描述
将方法的返回值定义为一个bean在方法上添加一个注解@Bean就可以实现方法的返回值为一个bean。bean的名字可以通过在@Bean(“dataSource”)这种方式将返回的bean命名为dataSource
在这里插入图片描述
接下来在app运行文件中,通过扫描配置文件来获取dataSource类型的bean并打印出来。
在这里插入图片描述
SpringConfig是spring的配置文件,刚才设置的bean的配置属于jdbc的配置,为了开发框架的结构清晰,建议写jdbc独立的配置文件JdbcConfig
在这里插入图片描述
此外将此配置类利用@Import注解导入到SpringConfig配置类中。保证@Component注解在扫包的时候能够捕捉到JdbcConfig配置类
在这里插入图片描述

1.2 小结

在这里插入图片描述

2.第三方bean依赖注入

2.1 简单类型:成员变量

通过设置@Value注解,利用成员变量的方式给第三方bean注入属性。
在这里插入图片描述

2.2 引用类型:方法形参

下面将dao包中定义的引用类型的类BookDao,注入到第三方的管理的bean JdbcConfig类里面,
在这里插入图片描述
在SpringConfig配置文件中,添加@ComponentScan注解扫描包中的Bookdao引用配置类
在这里插入图片描述
将Bookdao类型的包通过方法形参的方式,注入到配置类中。并打印出来。它是怎么做到的呢?四个字,自动装配因为spring检测到了dataSource方法是用来做第三方bean 的,spring默认要给你提供形参,于是并在springIOC容器中找到BookDao这个bean
在这里插入图片描述

2.3 小结

在这里插入图片描述
在这里插入图片描述

3.总结

在这里插入图片描述

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

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

相关文章

【vue】8个非常实用的Vue自定义指令:

文章目录 一、批量注册指令,新建 directives/index.js 文件二、在 main.js 引入并调用【1】v-copy【2】v-longpress【3】v-debounce【4】v-emoji【5】v-LazyLoad【6】v-permission【7】vue-waterMarker【8】v-draggable 复制粘贴指令 v-copy 长按指令 v-longpress 输…

JUnit单元测试之旅

目录 1. 什么是单元测试和JUnit2. JUnit入门与基本注解2.1测试类的定义:2.2 生命周期注解:2.3断言注解:2.4 参数化单参数多参数通过方法获取参数 2.5 测试套件 三.用到的依赖包 1. 什么是单元测试和JUnit 单元测试(Unit Testing)是对软件中的最小可测试单元进行检查和验证。它…

PyCharm使用指南 - 如何创建密码短语生成器(上)

PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。 PyCharm 最新下载 本文将展示如何使用免费的 PyCharm Community Edition 开…

Java 泛型的介绍

文章目录 1.学习目标2.什么是泛型3.引入泛型语法 4.泛型类的使用语法示例 6.泛型的上界语法示例 7.泛型的方法定义语法示例 8.通配符通配符解决什么问题通配符上界通配符下界 9.包装类基本数据类型和对应的包装类装箱和拆箱自动装箱和自动拆箱 1.学习目标 1.以能阅读 java 集合…

EventLoop事件循环

JavaScript是单线程语言 单线程执行任务队列的问题: 如果前一个任务非常耗时,则后续任务不得不等待,从而导致程序假死的问题。 同步任务和异步任务 ​ 为了防止某个耗时任务程序导致假死的问题,javascript把待执行的任务分为两类: 同步任务(synchronous) 又叫非耗时任务,指…

vue3-实战-02-管理后台项目集成

目录 1-集成element-plus 2-src别名配置 3-环境变量配置 4-svg图标配置 4.1-svg插件安装配置 4.2-svg封装为全局组件 5-集成sass 6-mock数据 7-axios二次封装 上一篇文章记录了项目初始化和项目配置,本章我们来进行项目集成。 1-集成element-plus 本次管…

【PWN · 总结】system返回shell(‘/bin/sh‘、‘sh‘、$(0))

pwn题中要通过system/excute等返回shell,进而cat flag。今天遇到一题,参数$(0)也可返回,有必要记录一下。 目录 前言 一、/bin/sh 1.strings 2.IDA 3.pwntools 4.ROPgadget 5.libc中寻找 二、sh 三、$(0) exp IDA查看机器码 …

交换机的4种网络结构方式:级联方式、堆叠方式、端口聚合方式、分层方式

交换机是计算机网络中重要的网络设备之一,用于实现局域网(LAN)内部的数据转发和通信。交换机可以采用不同的网络结构方式来满足不同的网络需求和拓扑结构。本文将详细介绍交换机的四种网络结构方式:级联方式、堆叠方式、端口聚合方…

c语言编程练习题:7-112 约分最简分式

#include <stdio.h> int gcd(int a,int b) {if(a<b)return gcd(b,a);if(a%b0)return b;elsegcd(b,a%b); } int main(){int a,b;if (scanf("%d/%d",&a,&b)!EOF){// 分析不敲钟的时间int gcd_value gcd(a,b);printf("%d/%d",a/gcd_value,b…

DMBOK知识梳理for CDGA/CDGP——第二章 数据处理伦理

关 注gzh “大数据食铁兽” 回复“知识点”获取《DMBOK知识梳理for CDGA/CDGP》常考知识点&#xff08;第二章数据处理伦理&#xff09; 第二章 数据处理伦理 第二章在 CDGA考试中分值占比不高&#xff0c;CDGP考试不考核。主要侧重点是考概念性的知识&#xff0c;难度较…

Matlab进阶绘图第22期—不等宽柱状图

不等宽柱状图是一种特殊的柱状图。 与常规柱状图相比&#xff0c;不等宽柱状图可以通过柱高与柱宽分别表达两个维度的数据&#xff0c;因此在多个领域得到应用。 在《Matlab论文插图绘制模板第91期》中&#xff0c;虽有介绍过利用Matlab自带bar函数绘制不等宽柱状图的方法&am…

LDGRB-01 3BSE013177R1 将数字输入和继电器输出结合

LDGRB-01 3BSE013177R1包的一部分是全面的通信选项&#xff0c;包括Modbus主/从或CS31&#xff0c;这种产品很少提供。128kB的用户内存和0.1秒/指令的程序处理时间只是AC500-eCo令人印象深刻的性能的两个例子。除了与现有AC500系列的互操作性&#xff0c;AC500-eCo系统还使用基…

PMP-范围管理的重要性

本篇文章主要是方便从事项目管理的“初学者”们了解范围管理的重要性 一、什么是范围管理 项目范围管理包括确保项目做且只做所需的全部工作&#xff0c;以成功完成项目的各个过程。管理项目范围主要在于定义和控制哪些工作应该包括在项目内&#xff0c;哪些不应该包括在项目内…

推动创意成果:创意过程如何改变 2023 年的业务

时下全球经济放缓&#xff0c;很多企业业务都陷入了增长瓶颈&#xff0c;如何突破&#xff1f;今天我们来聊聊一般业务突破的3种方式&#xff1a; 发现一片新的蓝海&#xff0c;迅速杀入占领生态位&#xff08;快&#xff09;&#xff1b; 发现结构性红利机会&#xff0c;大量投…

低代码开发重要工具:jvs-rules 规则引擎功能介绍(二)

一、JVS规则引擎接口管理 接口管理是将逻辑引擎对接所有的接口进行统一管理&#xff0c;便于各种应用统一引用。 接口的界面展示 接口列表的展示&#xff0c;接口列表是根据系统内部支持的接口进行展现&#xff0c;包括查看接口的详情 详情中包括&#xff0c;入参与出参的展…

QT(QPainter画圆弧)

文章目录 前言一、QPainter画圆弧方法二、使用示例三、画一个彩色环总结 前言 本篇文章给大家介绍一下如何使用QPainter来画圆弧。 一、QPainter画圆弧方法 drawArc() 函数是 Qt 绘图类库中的一个函数&#xff0c;用于在画布上绘制圆弧。可以通过设置起点角度和圆弧弧度来控…

Keil_C51之Memory_mode解析

有时我们会遇到这样的报错&#xff1a; *** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GROUP_ LENGTH: 002CH Program Size: data117.0 xdata0 code6242 Target not created. Build Time Elapsed: 00:00:00 报错截图如下&#xff1a; 这类报…

程序员怎么玩转Linux

Linux下可以使用Python编写爬虫程序&#xff0c;常用的爬虫框架有Scrapy和BeautifulSoup。 Scrapy是一个基于Python的开源网络爬虫框架&#xff0c;可以快速高效地从网站上获取数据。它提供了强大的数据提取和处理功能&#xff0c;支持异步网络请求和分布式爬取等特性。 Beau…

九耶丨阁瑞钛伦特-springmvc(五)

Spring是最流行的企业级开发框架之一&#xff0c;它提供了一套完整的IOC&#xff08;控制反转&#xff09;和AOP&#xff08;面向切面编程&#xff09;解决方案&#xff0c;可以帮助软件开发人员快速开发出高效、可扩展的应用程序。Spring MVC是Spring框架中的一个模块&#xf…

cesium模型在前端页面加载后亮度异常的处理

一.问题产生与分析 通常情况下&#xff0c;后端生成的模型数据&#xff0c;以默认参数加载在前端页面时亮度能显示是正常的&#xff0c;如果不正常&#xff0c;猜测可能与生成的原数据有关&#xff08;数据本身在前端页面加载亮度就低&#xff09; 二.问题解决 前端页面针对这…