广告
返回顶部
首页 > 资讯 > 精选 >详解Spring中实现接口动态的解决方法
  • 879
分享到

详解Spring中实现接口动态的解决方法

spring动态接口 2023-05-31 09:05:34 879人浏览 独家记忆
摘要

前言本文主要给大家介绍的是关于spring实现接口动态的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧。关于这个问题是因为领导最近跟我提了一个需求,是有关于实现类mybatis的@Select、@Insert注解的功

前言

本文主要给大家介绍的是关于spring实现接口动态的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧。

关于这个问题是因为领导最近跟我提了一个需求,是有关于实现类mybatis的@Select、@Insert注解的功能。其是基于interface层面,不存在任何的接口实现类。因而在实现的过程中,首先要解决的是如何动态实现接口的实例化。其次是如何将使接口根据注解实现相应的功能。

声明

解决方案是基于Mybatis源码,进行二次开发实现。

解决方法

我们先来看看Mybatis是如何实现Dao类的扫描的。

MapperScannerConfigurer.java

public void postProcessBeanDefinitionReGIStry(BeanDefinitionRegistry registry) throws BeansException { if (this.processPropertyPlaceHolders) {  processPropertyPlaceHolders(); } ClassPathMapperScanner scanner = new ClassPathMapperScanner(registry); scanner.setAddToConfig(this.addToConfig); scanner.setAnnotationClass(this.annotationClass); scanner.setMarkerInterface(this.markerInterface); scanner.setsqlSessionFactory(this.sqlSessionFactory); scanner.setSqlSessionTemplate(this.sqlSessionTemplate); scanner.setSqlSessionFactoryBeanName(this.sqlSessionFactoryBeanName); scanner.setSqlSessionTemplateBeanName(this.sqlSessionTemplateBeanName); scanner.setResourceLoader(this.applicationContext); scanner.setBeanNameGenerator(this.nameGenerator); scanner.registerFilters(); scanner.scan(StringUtils.tokenizeToStringArray(this.basePackage, ConfigurableApplicationContext.CONFIG_LOCATION_DELIMITERS)); }

--结束END--

本文标题: 详解Spring中实现接口动态的解决方法

本文链接: https://www.lsjlt.com/news/224595.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作