@Primary 使用
造轮子的一个小小的发现
当一个接口被两个service实现时,controller调用接口实现功能,会报错,提示开发者指定service,官方是建议你使用@Qualifier来区分的,但是,总有另一种方法实现的。
场景
public interface Hi{ String hi(); }
@Service
public class Hi1 implements Hi{
@Override
public String hi() {
return "hi1";
}
}
@Service
public class Hi2 implements Hi{
@Override
public String hi() {
return "hi2";
}
}
@Controller
public class SingerService {
@Autowired
private Hi hi; public String sing(){
return hi.hi();
}
}
此时没指定具体的接口实现类,spring会报错,但是只要将Hi2改成
@Service
@Primary
public class Hi2 implements Hi{
@Override
public String hi() {
return "hi2";
}
}
命令行就会输出
hi2
@Primary就是默认的意思,而他的使用情况当然不是用于service层了,而是在造轮子的时候,往往一个基本接口类有多次实现,我们只要给其中一个实现加上@Primary,那么在使用这个接口类的时候就不用每次都@Qualifier了,而且对于大多数开发者而言,只要理解使用默认的功能就足够了。
@Primary 使用的更多相关文章
- 验证mongodb副本集并实现自动切换primary~记录过程
接 验证mongodb主从复制过程 1.创建数据目录 同 验证mongodb主从复制过程 的实验一样,本次实验也是采用直接指定启动参数来启动mongodb数据库,本次实验我们需要启动三个数据库,为了与 ...
- Differences between INDEX, PRIMARY, UNIQUE, FULLTEXT in MySQL?
487down vote Differences KEY or INDEX refers to a normal non-unique index. Non-distinct values for ...
- ORA-02266: unique/primary keys in table referenced by enabled foreign keys
在数据库里面使用TRUNCATE命令截断一个表的数据时,遇到如下错误 SQL >TRUNCATE TABLE ESCMOWNER.SUBX_ITEM ORA-02266: unique/prim ...
- ORA-02429: cannot drop index used for enforcement of unique /primary key
相信不少人遇到过ORA-02429: cannot drop index used for enforcement of unique /primary key 这个错误,对应的中文提示"O ...
- [AlwaysOn Availability Groups]排查:Primary上的修改无法在Secondary体现
排查:Primary上的修改无法在Secondary体现 客户端进程在primary上修改成功,但是在Secondary上却无法看到修改结果.这个case假设你的可用性组有同步的健康问题.很多情况下这 ...
- Mysql索引PRIMARY、NORMAL、UNIQUE、FULLTEXT 区别和使用场合
索引 数据库的索引就像一本书的目录,能够加快数据库的查询速度. MYSQL索引有四种PRIMARY.INDEX.UNIQUE.FULLTEXT, 其中PRIMARY.INDEX.UNIQUE是一类,F ...
- SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束
SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主 ...
- Hibernate Id Generator and Primary Key
Use automate id by hibernate: If you want the tables' id be created automation. How to do it? When u ...
- Database Primary key and Foreign key [From Internet]
Database Primary key and Foreign key --Create Referenced Table CREATE TABLE Department ( DeptID int ...
- Error : Must specify a primary resource (JAR or python or R file)
spark-submit 报错:must specify resource 取消关注 | 1 ... 我的submit.sh内容: /bin/spark-submit \ --class abc.pa ...
随机推荐
- ACM学习历程—HDU4956 Poor Hanamichi(模拟)
Poor Hanamichi Problem Description Hanamichi is taking part in a programming contest, and he is assi ...
- [CTSC 2012] Cheat
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2806 [算法] 首先建立广义后缀自动机 注意到问题具有单调性 , 不妨对于每组询问二 ...
- Node.js集成支付宝接口注意事项
目录 签名 发送请求表单 验签 总结 签名 使用node.js自带的加密模块crypto和字符编码模块iconv-lite 根据支付宝接口文档参数格式得到签名之前的字符串beforeSignStr,然 ...
- asm 兼容性、asm 主要参数管理
一 ASM instance 与 Database instance 的版本兼容性说明 1. Oracle 11gR2 的ASM 支持11g和10g的数据库实例.但是在Oracle Clusterwa ...
- CentOS7的网络配置
1.DNS配置 新安装的虚拟机,ping 内网IP可以,但是ping 外网域名却失败,告知“Name or service not known”. 原来是因为需要在/etc/sysconfig/net ...
- lvs squid相关
http://zh.linuxvirtualserver.org/ 这几天在要对用户请求过来的post 的body内容进行处理,就具体了解了一下squid 处理post请求的具体流程,在这里具体分享一 ...
- python集合介绍
set原理 Python 还 包 含 了 一 个 数 据 类 型—— set ( 集 合 ) . 集 合 是 一 个 无 序 不 重 复 元素 的 集 . 基 本 功 能 包 括 关 系 测 试 和 ...
- http://blog.csdn.net/wujunokay/article/details/44783383
最近2周面试了一些人,有一些感触. 有的人工作几年,面向对象有几大特性.各特性之间的区别也不清楚:有的人,问他时,他说,这个简单,只是我不会,这些理论的东西在平时工作中,用的少:有的人,不清楚重载和重 ...
- AI决策算法 之 GOAP (三)
源码地址:http://pan.baidu.com/s/1dFwzmfB 这篇我们使用上篇文章写的GOAP框架来完成一个实例: 实例内容: AI有10HP, 需要去站岗,站岗完成扣5HP 当HP< ...
- codeforces1081G Mergesort Strikes Back【期望dp+脑洞】
首先看这样做的特点,就是分到最后小块里的点合并上去的时候相对顺序不变,所以先加上块内逆序对的期望 合并的时候一定是一边卡住一个大值,另一边跳指针,所以把一个值向右直到有大于它的值位置的一段区间看作一段 ...