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

常见的Bean工厂后置处理器

此代码在jdk11上测试通过,SpringBoot版本为2.7.14

1.上代码

导入坐标

<dependencies><!-- spring数据坐标 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-rest</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.4</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.16</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency>
</dependencies>

1.测试类代码

public class Dome05Application {public static void main(String[] args) {GenericApplicationContext genericApplicationContext = new GenericApplicationContext();genericApplicationContext.registerBean("config", Config.class);// Bean工厂后置处理器// 可以识别@ComponentScan,@Been,@Import等注解genericApplicationContext.registerBean(ConfigurationClassPostProcessor.class);// 这个是解析@MapperScanner注解// genericApplicationContext.registerBean(MapperScannerConfigurer.class);genericApplicationContext.refresh();for (String beanDefinitionName : genericApplicationContext.getBeanDefinitionNames()) {System.out.println(beanDefinitionName);}genericApplicationContext.close();}
}

2.创建Bean01

public class Bean01 {}

3.创建ComponentBean

@Component
public class ComponentBean {public ComponentBean() {System.out.println("ComponentBean 构造方法====被Spring加载了");}
}

4.创建配置类

@Configuration
@ComponentScan("com.andy.xxx.xxx")  // 第三段代码ComponentBean 所在的包
public class Config {@Beanpublic Bean01 bean01() {return new Bean01();}@Beanpublic SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSource);return sqlSessionFactoryBean;}@Bean(initMethod = "init")public DruidDataSource dataSource() {DruidDataSource druidDataSource = new DruidDataSource();druidDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/study_test");druidDataSource.setUsername("root");druidDataSource.setPassword("root");return druidDataSource;}
}

2.运行结果

在这里插入图片描述

相关文章:

常见的Bean工厂后置处理器

此代码在jdk11上测试通过&#xff0c;SpringBoot版本为2.7.14 1.上代码 导入坐标 <dependencies><!-- spring数据坐标 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-rest</art…...

代码随想录算法训练营第四十二天| 416 分割等和子集

目录 416 分割等和子集 416 分割等和子集 class Solution { public:const int N 210;bool canPartition(vector<int>& nums) {vector<int>f(N);int sum 0;for(auto num : nums)sum num;if(sum % 2 1)return false;//如果int target sum / 2;for(int i …...

memmove 和 memcpy的区别

函数原型及作用 memcpy 和 memmove 都是C语言中的库函数&#xff0c;在头文件string.h中&#xff0c;作用是拷贝一定长度的内存的内容&#xff0c;原型分别如下&#xff1a; void* memcpy(void *dst, const void *src, size_t count); void* memmove(void *dst, const void *…...

C实现的双向链表队列

如下代码所示&#xff0c;一个头文件实现的双向链表&#xff0c;用c代码实现&#xff1a; #ifndef _LINUX_LIST_H #define _LINUX_LIST_H#include "stddef.h" #include "poison.h"#ifndef ARCH_HAS_PREFETCH #define ARCH_HAS_PREFETCH static inline voi…...

自适应中值滤波器的python代码实现-----冈萨雷斯数字图像处理

基本原理&#xff1a; 自适应中值滤波器是一种图像处理技术&#xff0c;用于去除图像中的噪声。其原理是根据像素周围邻域内像素值的特性&#xff0c;动态地选择滤波器的大小和中值滤波的程度。 **邻域选择&#xff1a;**对于每个像素点&#xff0c;选取一个窗口或者邻域&…...

Python作业答疑_6.22~6.25

一、Python 一班 1. 基数分割列表 1.1 问题描述 给定一无序数列&#xff0c;把数列的第一个数字当成基数&#xff0c;让数列中基数小的数字排在数列前面&#xff0c;比基数大的数字排在数列的后面。 1.2 问题示例 如数列&#xff1a;num[4,1,8,3,9,2,10,7]。基数为 4&…...

Uber Go 语言编码规范

uber-go/guide 的中文翻译 English 文档链接 Uber Go 语言编码规范 Uber 是一家美国硅谷的科技公司&#xff0c;也是 Go 语言的早期 adopter。其开源了很多 golang 项目&#xff0c;诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 G…...

UniRepLKNet:用于音频、视频、点云、时间序列和图像识别的通用感知大内核ConvNet

摘要 https://arxiv.org/abs/2311.15599 大核卷积神经网络(ConvNets)最近受到了广泛的研究关注,但存在两个未解决的关键问题需要进一步研究。(1)现有大核ConvNets的架构在很大程度上遵循传统ConvNets或Transformers的设计原则,而大核ConvNets的架构设计仍未得到充分解决。(2…...

Http协议与Tomcat

HTTP协议 HTTP协议&#xff08;HyperText Transfer Protocol&#xff09;即超文本传输协议 &#xff0c;是TCP/IC网络体系结构应用层的一个客户端-服务端协议&#xff0c;是所有客户端&#xff0c;服务端数据传输的基石&#xff08;数据传输规则&#xff09; 特点 ⭐基于TCP协…...

Spring AOP从入门到精通

目录 1. AOP的演化过程 1. 代理模式 2. 动态代理 2.1 JDK动态代理 2.2 Cglib动态代理 3. Spring模式 3.1 ProxyFactory 3.2 ProxyFactoryBean 3.3 AbstractAutoProxyCreator 2. Spring AOP抽象 1. 核心术语 1.1 连接点(JoinPoint) 1.2 切点(Pointcut) 1.3 增强(Ad…...

Tap虚拟网卡

1 概述 Tap设备通常用于虚拟化场景下&#xff0c;其驱动代码位于drivers/net/tun.c&#xff0c;tap与tun复用大部分代码&#xff0c; 注&#xff1a;drivers/net/tap.c并不是tap设备的代码&#xff0c;而是macvtap和ipvtap&#xff1b; 下文中&#xff0c;我们统一称tap&#…...

【数电笔记】53-与非门构成的基本RS触发器

目录 说明&#xff1a; 1. 电路组成 2. 逻辑功能 3. 特性表 4. 特性方程 5. 状态转换图 6. 驱动表 7. 例题 例1 例2 说明&#xff1a; 笔记配套视频来源&#xff1a;B站&#xff1b;本系列笔记并未记录所有章节&#xff0c;只对个人认为重要章节做了笔记&#xff1b…...

kubernetes(k8s)容器内无法连接同所绑定的Service ClusterIP问题记录

kubernetes(k8s)容器内无法连接同所绑定的Service ClusterIP问题记录 1. k8s环境 k8s使用kubernetes-server-linux-amd64_1.19.10.tar.gz 二进制bin 的方式手动部署 k8s 版本: [rootmaster ~]# kubectl version Client Version: version.Info{Major:"1", Minor:&…...

Hadoop入门学习笔记

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 这里写目录标题 一、VMware准备Linux虚拟机1.1. VMware安装Linux虚拟机1.1.1. 修改虚拟机子网IP和网关1.1.2. 安装…...

堆栈,BSS,DATA,TEXT

一、目标文件 首先目标文件的构成&#xff0c;Linux下就是.o 文件 编译器编译源码后生成的文件叫目标文件&#xff08;Object File&#xff09;。 目标文件和可执行文件一般采用同一种格式&#xff0c;这种存储格式为 ELF。 目前文件的内容至少有编译后的机器指令代码和数据&a…...

Java八股文面试全套真题【含答案】-JSON篇

什么是JSON&#xff1f; 答案&#xff1a;JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;基于JavaScript的对象字面量表示法&#xff0c;用于在不同语言和平台之间传输数据。JSON的数据结构是怎样的&#xff1f; 答案&#xf…...

数据库管理-第119期 记一次迁移和性能优化(202301130)

数据库管理-第119期 记一次迁移和性能优化&#xff08;202301130&#xff09; 1 迁移 之前因为DV组件没有迁移成功的那个PDB&#xff0c;后来想着在目标端安装DV组件迁移&#xff0c;结果目标端装不上&#xff0c;而且开了SR也没看出个所以然来。只能换一个方向&#xff0c;尝…...

【云原生-K8s】镜像漏洞安全扫描工具Trivy部署及使用

基础介绍基础描述Trivy特点 部署在线下载百度网盘下载安装 使用扫描nginx镜像扫描结果解析json格式输出 总结 基础介绍 基础描述 Trivy是一个开源的容器镜像漏洞扫描器&#xff0c;可以扫描常见的操作系统和应用程序依赖项的漏洞。它可以与Docker和Kubernetes集成&#xff0c;…...

【Docker】Swarm的ingress网络

Docker Swarm Ingress网络是Docker集群中的一种网络模式&#xff0c;它允许在Swarm集群中运行的服务通过一个公共的入口点进行访问。Ingress网络将外部流量路由到Swarm集群中的适当服务&#xff0c;并提供负载均衡和服务发现功能。 在Docker Swarm中&#xff0c;Ingress网络使…...

gcc安全特性之FORTIFY_SOURCE

GCC 4.0引入了FORTIFY_SOURCE特性&#xff0c;旨在加强程序的安全性&#xff0c;特别是对于字符串和内存操作函数的使用。下面是对FORTIFY_SOURCE机制的深入分析&#xff1a; 1. 功能 FORTIFY_SOURCE旨在检测和防止缓冲区溢出&#xff0c;格式化字符串漏洞以及其他与内存操作…...

[段错误修复]:Emacs代码补全崩溃的系统排查与版本管理策略

[段错误修复]&#xff1a;Emacs代码补全崩溃的系统排查与版本管理策略 【免费下载链接】doomemacs An Emacs framework for the stubborn martian hacker 项目地址: https://gitcode.com/gh_mirrors/do/doomemacs 副标题&#xff1a;如何诊断LSP服务异常导致的Emacs崩溃…...

[OS] Rate Monotonic Scheduling: Optimizing Real-Time Task Prioritization

1. 速率单调调度&#xff1a;实时系统的优先级管理艺术 想象一下急诊室的医生如何决定救治顺序——心跳停止的患者永远优先于感冒发烧的病人。速率单调调度&#xff08;Rate Monotonic Scheduling&#xff0c;RMS&#xff09;就是实时操作系统中的这位"分诊专家"&am…...

StructBERT在代码仓库管理中的重复代码检测应用

StructBERT在代码仓库管理中的重复代码检测应用 你有没有遇到过这种情况&#xff1f;在代码审查时&#xff0c;总觉得某段代码似曾相识&#xff0c;但又说不清在哪见过。或者&#xff0c;团队里不同成员为了解决类似问题&#xff0c;各自写了一套逻辑相近但细节不同的代码&…...

掌握MediaPipeUnityPlugin:从0到1的面部表情捕捉实践指南

掌握MediaPipeUnityPlugin&#xff1a;从0到1的面部表情捕捉实践指南 【免费下载链接】MediaPipeUnityPlugin Unity plugin to run MediaPipe 项目地址: https://gitcode.com/gh_mirrors/me/MediaPipeUnityPlugin 在Unity开发中&#xff0c;实现高精度面部表情捕捉常面临…...

别再傻傻匀速拖滑块了!用Python模拟真人鼠标轨迹,轻松过Geetest验证码

突破验证码防线&#xff1a;Python模拟人类行为轨迹的实战艺术 验证码系统正变得越来越智能&#xff0c;Geetest等平台已经能够通过分析用户行为模式来区分人类和机器。传统的匀速滑块操作在这些系统面前几乎无所遁形。本文将带你深入理解现代验证码系统的工作原理&#xff0c;…...

开源音频格式转换终极指南:ncmdumpGUI实现数字音乐资产自由流转的完整方案

开源音频格式转换终极指南&#xff1a;ncmdumpGUI实现数字音乐资产自由流转的完整方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 在数字音乐时代&#xf…...

Typora风格技术文档创作:集成SenseVoice-Small实现语音速记

Typora风格技术文档创作&#xff1a;集成SenseVoice-Small实现语音速记 每次在Typora里敲代码、写文档&#xff0c;是不是都有过这样的瞬间&#xff1f;脑子里灵光一闪&#xff0c;一段绝妙的思路或者一个关键的描述&#xff0c;手速却跟不上。等你好不容易敲完几个字&#xf…...

Madgwick算法详解:9轴IMU嵌入式姿态解算实战

1. Madgwick姿态解算算法库深度解析&#xff1a;面向9轴IMU的嵌入式实时姿态估计实现1.1 算法背景与工程定位Madgwick姿态解算算法由Sebastian Madgwick于2010年提出&#xff0c;是一种基于梯度下降优化的互补滤波器&#xff08;Complementary Filter&#xff09;&#xff0c;专…...

TSDoc贡献指南:如何为开源文档标准做出贡献的完整教程

TSDoc贡献指南&#xff1a;如何为开源文档标准做出贡献的完整教程 【免费下载链接】tsdoc A doc comment standard for TypeScript 项目地址: https://gitcode.com/gh_mirrors/ts/tsdoc TSDoc是一个为TypeScript设计的文档注释标准&#xff0c;旨在为不同的工具提供统一…...

Docker Desktop部署Weaviate向量数据库:从配置到生产环境全流程

在Docker Desktop上部署Weaviate向量数据库的全流程。通过Docker Compose实现容器化&#xff0c;涵盖持久化存储、安全认证配置及text2vec-openai集成。提供Python/Java客户端连接示例&#xff0c;并针对端口冲突、数据持久化等常见问题给出实用解决方案&#xff0c;助力快速搭…...