interface use spring bean 方案

教程:Bean作用域 Bean作用域 4 singleton作用域 4 prototype作用域 5 具有原型Bean依赖的单例Bean 7 Request, Session, Application, 和 WebSocket 作用域 7 初始网络配置 7 request作用域 8 session作用域 8 application作用域 9 websocket作用域 9 作用域 Bean 作为依赖项 9 选择要创建的代理类型 11 直接注入Request/Session引用 11 自定义作用域 11 创建自定义作用域 11 使用 阅读详情

首先不建议在interface中使用spring bean。
建议可以重新建一个bean去处理。如果用c++角度来理解的话spring aoc容器就是c++中的一个全局的静态变量,这大概相当于c++中extern吧。

public interface IEventBaseHandler {

EntityBaseVO getAndSaveEventDetailBy(EventMasterVO eventMasterVO) ;

static IEventBaseHandler GetSubHandler(Integer eventTypeNum){
    return IEventBaseHandlerHelper.GetSubHandler(eventTypeNum);
}



@Component
class IEventBaseHandlerHelper{
    private static IIntercomEventHandler intercomEventHandlerImpl;
    private static IButtonEventHandler buttonEventHandlerImpl;
    private static IPerimeterEventHandler perimeterEventHandlerImpl;
    private static IGateEventHandler gateEventHandlerImpl;
    private static IVehicleEventHandler vehicleEventHandlerImpl;
    private static IFaceEventHandler faceEventHandlerImpl;
    @Autowired
    public void setIntercomEventHandlerImpl(IIntercomEventHandler intercomEventHandlerImpl){
        this.intercomEventHandlerImpl = intercomEventHandlerImpl;
    }
    @Autowired
    public void setButtonEventHandlerImpl(IButtonEventHandler buttonEventHandlerImpl){
        this.buttonEventHandlerImpl = buttonEventHandlerImpl;
    }
    @Autowired
    public void setPerimeterEventHandlerImpl(IPerimeterEventHandler perimeterEventHandlerImpl){
        this.perimeterEventHandlerImpl = perimeterEventHandlerImpl;
    }
    @Autowired
    public void setGateEventHandlerImpl(IGateEventHandler gateEventHandlerImpl){
        this.gateEventHandlerImpl = gateEventHandlerImpl;
    }
    @Autowired
    public void setVehicleEventHandlerImpl(IVehicleEventHandler vehicleEventHandlerImpl){
        this.vehicleEventHandlerImpl = vehicleEventHandlerImpl;
    }
    @Autowired
    public void setFaceEventHandlerImpl(IFaceEventHandler faceEventHandlerImpl){
        this.faceEventHandlerImpl = faceEventHandlerImpl;
    }

static IEventBaseHandler GetSubHandler(Integer eventTypeNum){
    if(EventTypeEnum.DUIJIANG.getIndex() == eventTypeNum) {
        return intercomEventHandlerImpl;
    } else if(EventTypeEnum.BUTTON.getIndex() == eventTypeNum) {
        return buttonEventHandlerImpl;
    } else if(EventTypeEnum.ZHOUJIE.getIndex() == eventTypeNum) {
        return perimeterEventHandlerImpl;
    } else if(EventTypeEnum.MENJIN.getIndex() == eventTypeNum) {
        return gateEventHandlerImpl;
    } else if(EventTypeEnum.CHELIANG.getIndex() == eventTypeNum) {
        return vehicleEventHandlerImpl;
    } else if(EventTypeEnum.RENLIAN.getIndex() == eventTypeNum) {
        return faceEventHandlerImpl;
    }
    return null;
}

}

Mac Studio M5 Ultra本地部署大模型实战:从内存原理到Ollama开发工作流 大模型推理的性能瓶颈往往不在算力,而在于内存能否装下整个模型、带宽能否持续供得上。Transformer架构每生成一个token都需要把权重完整扫一遍,决定了这本质上是内存密集型任务——统一内存架构因此成为本地部署的关键通路,超大容量与高带宽并行,让“装得下”和“跑得快”同时成立。模型量化技术(如Q4_K_M)则是另一项决定性软件策略,用轻微精度损失换取更低的硬件门槛,也是Ollama本地部署从7B到70B各类模型必做的前置功课。当本地推理服务跑起来后,借助VS Code等开发工具的OpenAI兼容API接 阅读详情

相关推荐

MAX31865模块温度测量

本文主要介绍MAX31865 测温注意事项,并写出读取温度的示例代码,模块详细参数可以查阅相关手册,

7456

Spring实战系列(四)-动态注入接口Bean

"对于Spring框架,现实公司使用的非常广泛,但是由于业务的复杂程度不同,了解到很多小伙伴们利用Spring开发仅仅是利用了Spring的IOC,即使是AOP也很少用,但是目前的Spring是一个大家族,形成了一个很大的生态,覆盖了我们平时开发的方方面面,抛开特殊的苛刻要求之外,Spring的生态其实已经很全面了,所以在此开个系列来研究下Spring提供给我们的一些平时不太却又很实用的内容。" ...

jokeHello的专栏 1万+

Keil环境下单片机串口通信实战:如何用printf发送中文(附完整代码)

本文详细解析了在Keil开发环境下,单片机通过串口通信发送中文信息时产生乱码的根本原因及解决方案。核心在于理解并统一编码(如GB2312或UTF-8),并正确重定向printf函数。文章提供了针对STC89C52和STM32F103的完整代码示例,涵盖工程配置、编码设置、调试技巧,帮助开发者实现稳定可靠的中文串口输出。

weixin_29168675的博客 467

浅析代理bean 注入原理

大家不知道有没有好奇过各种spring框架中的神奇功能是怎么实现的,例如Feign 的接口,和Jpa 的接口,Spring 是如何驱动实现的呢。下面我来分析一下 在了解FeignClient 注解中发现,FeignClient 注解的接口都是Proxy 类。那到底是如何生成的呢? spring在注入bean的时候,会根据容器中bean 的类型或者name 来匹配bean 的注入, 但是interf...

rainful__的博客 1053

Ansys Zemax与Speos协同设计:从HUD光学优化到驾驶环境可视化全流程解析

本文深入解析了如何利用Ansys Zemax与Speos进行协同设计,实现从HUD光学系统核心优化到驾驶环境可视化验证的全流程。文章强调了HUD设计是光学性能与视觉感知的深度耦合,通过Zemax进行精密光学设计,再利用Speos进行系统级仿真与感知模拟,最终完成从虚拟到现实的闭环验证,有效提升HUD产品的开发效率与可靠性。

weixin_29199873的博客 243

Cadence 17.4 PSpice仿真555定时器输出方波

这里利用555定时器组成多谐振荡器产生1Hz的方波并用PSpice仿真其输出的方波波形。555定时器是一种广泛应用的中规模集成电路。根据其内部组成的不同,可分为双极型(555B)和CMOS型(555C)两类。两种类型的定时器各有所长。双极型定时器具有较大的驱动能力,其输出电流可达200mA,可直接驱动发光二级管、扬声器、继电器等负载。而CMOS型定时器的输入阻抗高、功耗低。

tj_nonstoper的博客 1万+

Spring:三种实例化bean的方式

Spring的实例化Bean有三种方式:     使用类构造器直接实例化  使用静态工厂的方法实例化  使用实例工厂方法实例化   三种方式对应的配置如下 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

zhang1206214477的专栏 740

从零搭建PIC MCU开发环境:MPLAB IDE与HI-TECH编译器安装破解全攻略

本文详细介绍了从零搭建PIC MCU开发环境的完整流程,包括MPLAB IDE 8.85的安装配置、HI-TECH C编译器的安装与破解,以及PICkit3编程器的使用技巧。通过清晰的步骤说明和常见问题解决方案,帮助开发者快速搭建稳定的PIC单片机开发环境,适用于PIC16/18系列MCU开发。

weixin_29188997的博客 292

Spring中接口的bean是如何注入,@service 为什么不能用在interface上

1、 Spring中接口的bean是如何注入的 大家都知道@Service注入的是实现类serviceImpl,那使用时怎么能获取到接口,而且还能调用到实现类的方法。 其中只注入了实现类serviceImpl的bean,接口只是用来接收的。这里就要说到@Autowired/@Resource的注入原理:@Autowired是Spring的注解,Autowired默认先按byType,如果发现找到多个bean,则再按照byName方式比对,如果还有多个bean,则报错Caused by: org.spring

GGHuWei的博客 3256

python怎样按某一列值拆分Excel表格

pd.ExcelWriter@python #用python按某一列拆分Excel工作表,将内容写入一个工作簿 本次以“按照表中的某一列,将一张表格拆分为多张表”的需求为例,简单介绍这个过程中用到的pd.ExcelWriter,及每一句的作用。 如上表《学生.xlsx》,假设有14万行28列,请按照学校名,拆分表格(不想用复制粘贴)。 ##代码及解释如下 import pandas as pd from time import time#用来计算时间,展示进度,减少焦虑 in_ws='学生.xlsx'#

learn_get的博客 6785

深入理解鸿蒙输入子系统驱动:HDI接口、HAL层与内核驱动的协同机制

/ 扫描输入设备// 打开指定输入设备// 关闭指定输入设备// 获取指定设备信息// 获取所有设备列表鸿蒙输入子系统驱动采用分层架构设计,通过HDI接口层实现硬件抽象,HAL层提供统一的事件处理机制,用户空间驱动层负责设备管理和事件分发。整个系统支持多种输入设备类型,包括触摸屏、按键、鼠标、键盘等,并提供了完整的HID设备支持。分层架构:清晰的层次划分,便于维护和扩展事件驱动:基于epoll的高效事件处理机制设备管理:完善的设备生命周期管理HID支持。

m0_67505153的博客 212

spring 接口bean注入

在 spring 中,提供 FactoryBean 的接口,在容器启动时不仅将 FactoryBean 的实现注入到容器中,同时也会将 FactoryBean#getObject 的对象也注入到容器中,因此只需要在 getObject 方法中实现接口的代理。因此,扫描需要代理的接口,根据接口信息生成对应的 FactoryBean 的 bean 定义,并注入到容器中,其中在FactoryBean#getObject 完成接口的代理。这里以 openFeign 的服务接口的服务方式进行实现。

qq_43461871的博客 820

图数据库Neo4j面试内容整理-Neo4j的性能

在执行复杂关系查询时,Neo4j 通过图结构的高效存储和查询机制,能够比传统的关系型数据库提供更快的性能,尤其是在涉及深层关系的查询时。通过合理的配置、优化查询和使用合适的硬件,Neo4j 可以处理大规模的数据集和高并发的查询请求,满足企业级应用的需求。Neo4j 在处理图数据时,通过优化图的存储、查询和遍历等方面,提供了高效的性能,特别适合用于需要处理复杂关系和多层次连接的应用场景,如社交网络、推荐系统、知识图谱等。:Neo4j 会根据查询的结构和数据的分布自动选择最优的查询计划。

不务正业的猿 586

Spring Bean生命周期详解

API的方式Xml文件方式properties文件的方式注解的方式spring中提供了一个类PropertiesBeanDefinitionReader,将xml中定义的bean解析为BeanDefinition对象,过程和xml的方式类似。下面通过properties文件的方式实现上面xml方式定义的bean。来个properties文件:beans.propertiescar.name=??car1.name=???user.name=???Java。

sxlishaobin的博客 764

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

零基础入门Spring源码

本文主要介绍Spring的执行流程梳理,主线为Spring源码中bean创建到销毁的流程梳理和其中关键的接口,如:BeanFactory、BeanDefinition、PostProcessor等。

weixin_46425661的博客 2080

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring源码系列(十一)Spring创建Bean的过程(一)

1.写在前面 从今天开始,笔者开始介绍Spring Bean的创建过程,这块是Spring比较重要的一部分,笔者可能要花很多篇博客来介绍这个spring创建Bean的过程。这块涉及到spring各种内置的BeanPostProcessor的执行的顺序。这些BeanPostProcessor对Bean的整个生命周期起到很大的作用,从初始化到实例化到销毁等等。所以笔者打算好好讲下这些内置的BeanPostProcessor的作用及执行时机。 2.spring的内置的BeanPostProcessor有哪些?在哪

了不起的盖茨比的博客 980

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Spring Bean的初始化

基于注解驱动 AnnotationConfigApplicationContext 为Spring Context、上下文、容器。 public static void main( String[] args ) { AnnotationConfigApplicationContext ac=new AnnotationConfigApplicationContext(App...

weixin_45602227的博客 148

Spring Bean的装配

Bean的装配可以理解为依赖关系注入,Bean的装配方式即Bean依赖注入的方式 Bean的装配方式有3种,基于xml,基于注解Annotation,自动装配 1.基于xml装配 1.1设值注入 Spring实例化Bean的过程中,首先调用Bean的默认构造方法来实例化Bean,然后通过反射的方式调用setter方法来注入属性值。因此,设值注入要求Bean必须满足以下两点 Bean类必须提供一个默...

qq_41869588的博客 201

java 传递bean_java – 如何将参数动态传递给Spring bean

我是春天的新手这是bean注册的代码:这是我的bean类:public class User_Imple implements Master_interface {private int id;private User user; // here user is another classpublic User_Imple() {super();}public User_Imple(int id,...

weixin_42366954的博客 691

解决spring cloud下@FeignClient注入bean找不到异常

异常信息如下:Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 2018-01-17 19:34:44.265 ERROR 9468 --- [ main] o.s.b.d.Loggin

qq_40140473的博客 4万+

Spring基于XML装配bean的三种实例化方式

说明 好久没有写博客了,觉得一个星期至少写一篇吧,所以就动手了,而且我Spring的基础不行呀,毕竟看视频自学都是很杂的,有时候听的课都不是很系统的,所以导致有些知识点不全什么的,所以在真正实践起来发现自己的问题之后又要重新学一遍,确实没有人指导你学习的方向走的弯路会比较多。不过不怕,大不了回头重新来,而且有些知识点再听一遍跟你听第一遍的感觉完全是不一样的,会感觉轻松很多,又理解得更深刻了。 实例...

hansmu的博客 2596

Spring系列——两万字长文教会你Spring (超详细!!!)

到此,我们学习完了 Spring 框架,包括: Spring 体系结构 Spring Bean Spring AOP Spring JDBC Spring 事务管理 写此文章是为了做个笔记,等以后自己忘记了可以回头快速上手。同时也分享给小伙伴们,希望我们都能越来越好,不会就学 B 站,不懂就问 AI,总好过自己两耳不闻窗外事的独自琢磨。 最后认识一下吧,笔者叫`北迁`,hhh~~。

weixin_63009611的博客 1181

全网最强Spring教程 | 万字长文爆肝Spring(二)

本文介绍了Spring框架中IOC/DI配置管理第三方bean的方法,重点以Druid和C3P0数据源为例进行讲解。内容包括: 通过XML配置文件管理第三方bean 使用setter注入方式配置数据库连接参数 演示了Druid和C3P0两种数据源的具体配置步骤 解决了C3P0配置中遇到的驱动类缺失问题 指出了不同数据源属性名称的差异 学习目标包括掌握IOC/DI配置第三方bean的方法,以及Spring与Mybatis、Junit的整合开发。文章通过具体案例帮助理解如何将第三方库中的类纳入Spring容器管

qq_45832461的博客 1019

spring default bean name

Naming Spring Beans Overview In this article, we’ll look at how we can name our Spring beans. By controlling the naming of our beans, we can tell Spring which beans we want to inject into a target b...

jupiter_888的博客 265

spring中bean的xml注入方式

遇到一个使用xml文件进行bean注入,实现往一个bean中注入实例,逻辑如下: A,B两个类都继承同一个接口,不给A类添加注解,而是使用xml文件生成bean,xml文件将A类设为bean,并添加属性properties,properties中标明ref为B类、C类、D类等,B类需要添加注解,生成bean。A类中可以直接使用properties,是一个list,list中是ref的实例。此时,在A类中可以直接使用B类,不用注入,直接使用。 先跑A类,在A类中调用B类、C类、D类等。 cl...

weixin_41883250的博客 994

Spring之Aware接口介绍

Spring 中的Aware接口详解

波波烤鸭的博客 9377
上一篇: VUEX及VUE项目结构粗解
下一篇: 想写博客了,为什么?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值