spring注解识别一个接口的多个实现类方法
1.比如有一个接口如下:
public interface Filter { public String doFilter(String param); }
2.有如下接口实现类:
public class TimeFilter implements Filter { @Override public String doFilter(String param) { return param.replace("aa", "bb"); } }
3.使用方式:在接口实现类定义位置添加注解 @Service("timeFilter"),如下:
import org.springframework.stereotype.Service; @Service("timeFilter") public class TimeFilter implements Filter { @Override public String doFilter(String param) { return param.replace("aa", "bb"); } }
4.在需要注入的地方使用如下方式引入:
@Autowired
@Qualifier("timeFilter") //指定实现类
Filter timeFilter;
以上这篇spring注解识别一个接口的多个实现类方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
spring的几个重要类和接口(详解)
1. datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的 datasource接口有个重要的方法getConnection()方法 Connection getConnection(String username, String password) throws SQLException; 那些spring支持的数据库连接池,都是实现了Datasource接口 比如下面是阿里的DruidDatasource数据库连接池源码,它就是实现了dataso
-
通过spring用beanshell实现java接口示例
说明 1.通过脚本语言让JAVA执行动态代码2.用Spring可以将脚本语言代理成Java接口的实现类3.Spring2.5.6中支持三种脚本语言ruby,Groovy,BeanShell4.示例中为spring与beanshell结合5.依赖spring2.5.6,bsh-2.0b4 复制代码 代码如下: import org.junit.Test;import org.springframework.scripting.bsh.BshScriptUtils; import bsh.EvalE
-
详解Spring中实现接口动态的解决方法
前言 本文主要给大家介绍的是关于Spring实现接口动态的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧. 关于这个问题是因为领导最近跟我提了一个需求,是有关于实现类Mybatis的@Select.@Insert注解的功能.其是基于interface层面,不存在任何的接口实现类.因而在实现的过程中,首先要解决的是如何动态实现接口的实例化.其次是如何将使接口根据注解实现相应的功能. 声明 解决方案是基于Mybatis源码,进行二次开发实现. 解决方法 我们先来看看Mybat
-
spring注解识别一个接口的多个实现类方法
1.比如有一个接口如下: public interface Filter { public String doFilter(String param); } 2.有如下接口实现类: public class TimeFilter implements Filter { @Override public String doFilter(String param) { return param.replace("aa", "bb"); } } 3.使用方式:在接口实现
-
详解 Spring注解的(List&Map)特殊注入功能
详解 Spring注解的(List&Map)特殊注入功能 最近接手一个新项目,已经没有原开发人员维护了.项目框架是基于spring boot进行开发.其中有两处Spring的注解花费了大量的时间才弄明白到底是怎么用的,这也涉及到spring注解的一个特殊的注入功能. 首先,看到代码中有直接注入一个List和一个Map的.示例代码如下: @Autowired private List<DemoService> demoServices; @Autowired private Map<
-
spring常用注解开发一个RESTful接口示例
目录 一.开发REST接口 1.第一步:定义资源(对象) 2.第二步:HTTP方法与Controller(动作) 二.统一规范接口响应的数据格式 一.开发REST接口 在本专栏之前的章节中已经给大家介绍了 Spring常用注解及http数据转换教程 Spring Boot提高开发效率必备工具lombok使用 Spring Boot开发RESTful接口与http协议状态表述 本节内容就是将之前学到的内容以代码的方式体现出来. 1. 第一步:定义资源(对象) @Data @Builder publ
-
Spring笔记-@Order注解和Ordered接口解析
目录 @Order注解和Ordered接口 1.OrderUtils 2.Ordered接口 3.OrderComparator 4.AnnotationAwareOrderComparator 5.Bean注册顺序 Spring的Orderd接口及@Order,@Primary,@Priority三个注解介绍 1.如何发现Orderd接口及@Order.@Primary.@Priority 2.Orderd.@Order.@Priority.@Primary 3.测试 @Order注解和Ord
-
聊聊@Autowired注解注入,写接口名字还是实现类的名字
目录 用@Autowired注解注入,写接口名字还是实现类的名字 来自某程序员一个问答问题 Spring中Autowired注入接口的几个问题 1.Spring怎么知道注入哪个实现? 2.需要@Qualifier和@Resource注解吗? 3.为什么@Autowired使用在interface上而不是实现类上? 用@Autowired注解注入,写接口名字还是实现类的名字 来自某程序员一个问答问题 1. 有一点没明白,为什么注解@repository注解的是接口UserDAO的实现类UserDA
-
Java之Spring注解配置bean实例代码解析
前面几篇均是使用xml配置bean,如果有上百个bean,这是不可想象的.故而,请使用注解配置bean !!! [1]注解类别 @Component : 基本注解, 标识了一个受 Spring(点击这里可以下载<Spring应用开发完全手册>) 管理的组件 @Repository : 标识持久层组件 @Service : 标识服务层(业务层)组件 @Controller : 标识表现层组件 Spring 能够从 classpath 下自动扫描, 侦测和实例化具有特定注解的组件. 对于扫描到的组
-
详解Spring注解--@Autowired、@Resource和@Service
什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低 2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率 为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java
-
浅谈Spring Boot 开发REST接口最佳实践
本文介绍了Spring Boot 开发REST接口最佳实践,分享给大家,具体如下: HTTP动词与SQL命令对应 GET 从服务器获取资源,可一个或者多个,对应SQL命令中的SELECT GET /users 获取服务器上的所有的用户信息 GET /users/ID 获取指定ID的用户信息 POST 在服务器上创建一个新资源,对应SQL命令中的CREATE POST /users 创建一个新的用户 PUT 在服务器上更新一个资源,客户端提供改变后的完整资源,对应SQL命令中的UPDATE PUT
-
Spring注解@RestControllerAdvice原理解析
这篇文章主要介绍了Spring注解@RestControllerAdvice原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 前段时间部门搭建新系统,需要出异常后统一接口的返回格式,于是用到了Spring的注解@RestControllerAdvice.现在把此注解的用法总结一下. 用法 首先定义返回对象ResponseDto package com.staff.points.common; import lombok.Data;
-
深入理解Spring注解@Async解决异步调用问题
序言:Spring中@Async 根据Spring的文档说明,默认采用的是单线程的模式的.所以在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的. 那么当多个任务的执行势必会相互影响.例如,如果A任务执行时间比较长,那么B任务必须等到A任务执行完毕后才会启动执行.又如在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring3.x之后,已经内置了@Async来完美解决这个问题. 1. 何为异步调用? 在解释之前,我们先来看二
随机推荐
- PHP中基于perl的正则表达式处理函数
- JS应用正则表达式转换大小写示例
- 临时记录:一个正则
- Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
- 以911新闻为例演示Python实现数据可视化的教程
- JavaScript实现页面定时刷新(定时器,meta)
- PHP函数分享之curl方式取得数据、模拟登陆、POST数据
- Android编程中关于单线程模型的理解与分析
- 使用Python生成url短链接的方法
- lnmp重置mysql数据库root密码的两种方法
- MySQL存储引擎中的MyISAM和InnoDB区别详解
- JS 字符串连接[性能比较]
- Android 安全加密:对称加密详解
- 基于Xen的VPS 配置squid服务器
- 端午节由来的各种不同说法
- 基于JS实现无缝滚动思路及代码分享
- SQL Server中NULL的正确使用与空间占用
- jquery超简单实现手风琴效果的方法
- 浅析js绑定事件的常用方法
- JavaScript 获得选中文本内容的方法