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

spring:使用注解@获取第三方bean实例

因为第三方给的bean实例封装在jar包中,无法通过给类添加注解@Component后再获取bean实例,我们可以通过给方法添加注解@Bean,获取bean实例(方法的返回值就是第三方bean实例)。

可获取第三方bean的类

package com.annotation.thirdjar;import java.util.Date;import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;/*** @copyright 2003-2025* @author    qiao wei* @date      2025-04-16* @version   1.0* @brief     * @history   name*            date*            brief*/
@Component(value = "factory")
public class DateFactory {public DateFactory() {}@Bean(name = "getDate001")public Date getDate() {return new Date();}
}

配置类,将DateFactory加载。

package com.annotation.config;import org.springframework.context.annotation.ComponentScan;/* ** @copyright 2003-2025* @author    qiao wei* @date      2025-06-11* @version   1.0* @brief     * @history   name*            date*            brief*/
@ComponentScan(basePackages = "com.annotation")
public class Config {
}

测试类:

package com.annotation.thirdjar;import java.util.Date;import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;import com.annotation.config.Config;/* ** @copyright 2003-2025* @author    qiao wei* @date      2025-06-11* @version   1.0* @brief     * @history   name*            date*            brief*/
class DateFactoryTest {@Testpublic void test01() {ApplicationContext context =new AnnotationConfigApplicationContext(Config.class);Date date = (Date) context.getBean("getDate001");System.out.println(date);}
}

运行结果:

 方框内为加载包com.annotation中其它类的运行结果,最后一行是获取第三方类Date。

类结构如下图:

http://www.dtcms.com/a/244620.html

相关文章:

  • 表格里的图片链接怎么变成图片【附工具+源码演示】
  • 如何彻底删除Neo4j中的所有数据:完整指南
  • Java八股文——Spring「Spring 篇」
  • 2024蓝桥杯C/C++ B组国赛
  • EtherCAT转CANopen网关实现与伺服系统连通的配置实例探究
  • Spring Cache+Redis缓存方案 vs 传统redis缓存直接使用RedisTemplate 方案对比
  • Oracle集群OCR磁盘组掉盘问题处理
  • git pull 和 git fecth 的区别,远程仓库创建了新分支,可以用git fetch更新,可以看到远程创建的新分支
  • K8S中应用无法获取用户真实ip问题排查
  • 基于微信小程序的天气预报app
  • Vue 数据代理机制实现
  • BYC8-1200PQ超快二极管!光伏逆变/快充首选,35ns极速恢复,成本直降20%!
  • 3-16单元格区域尺寸调整(发货单记录保存-方法2)学习笔记
  • 3-15单元格偏移设置(发货单记录保存-方法1)学习笔记
  • 云原生核心技术 (12/12): 终章:使用 GitLab CI 将应用自动部署到 K8s (保姆级教程)
  • 力扣-121.买卖股票的最佳时机
  • Linux常用命令详解
  • 【PmHub面试篇】集成 Sentinel+OpenFeign实现网关流量控制与服务降级相关面试题解答
  • SSE 数据的传输无法流式获取
  • 全连接层和卷积层等效情况举例
  • 【知识图谱构建系列1】数据集介绍
  • Gogs:一款极易搭建的自助 Git 服务
  • TBrunReporter 测试生成报告工具使用教程(Windows)
  • ​​5G通信设备线路板打样:猎板PCB如何攻克高速数据传输技术瓶颈​​
  • 期权末日轮实值期权盈利未平仓怎么办?
  • 采用模型上下文协议和 AIStor 的代理人工智能
  • 【热更新知识】学习三 XLua学习
  • 腾讯位置商业授权危险地点查询开发指南
  • P2834 纸币问题 3
  • 香橙派3B学习笔记10:snap打包C/C++程序与动态链接库(.so)