Spring中的@Resource/@Autowired/@Primary/@Qualifier

Spring中的@Resource/@Autowired/@Primary/@Qualifier

@Resource

由java提供,位于包javax.annotation.Resource下,默认按照bean的名称注入,可以用在字段和set方法上。其有两个重要属性,name和type,spring会将name解析为bean的名称,将type解析为bean的类型。如果既不指定name,也不指定type,则将根据属性名称注入。

eg

java 复制代码
/**
* 既不指定name也不指定type,则根据属性名称user作为bean的名称去匹配
**/
@Resource
private User user;

@Autowired

由Spring提供,根据类型注入bean,属性required默认为true,表示目标bean必须存在,如果可以赋值为null,则将required设置为false。如果存在多个类型相同的目标bean,可以通过@Qualifier注解来指定目标bean。也可以通过@Primary注解来提高bean的优先级,

eg

java 复制代码
    @Autowired
    @Qualifier("userDao")
    private UserDao userDao;

	/***
	* 会创建两个bean,名称分别为columnMessageData1、columnMessageData2。如果要改变bean的名称,可以通过@Bean中的name属性修改
	*/

	@Configuration
    public class TestConfig {

    @Bean
    public ColumnMessageData columnMessageData1() {
        return new ColumnMessageData();
    }

    @Bean
    @Primary
    public ColumnMessageData columnMessageData2() {
        return new ColumnMessageData();
    }

}

 
相关推荐
why技术16 小时前
从18w到1600w播放量,我的一点思考。
java·前端·后端
间彧16 小时前
Redis Cluster vs Sentinel模式区别
后端
间彧16 小时前
🛡️ 构建高可用缓存架构:Redis集群与Caffeine多级缓存实战
后端
间彧16 小时前
构建本地缓存(如Caffeine)+ 分布式缓存(如Redis集群)的二级缓存架构
后端
夫唯不争,故无尤也16 小时前
JavaWeb流式传输速查宝典
java·流式传输
苏小瀚17 小时前
算法---位运算
java·算法
Camel卡蒙18 小时前
数据结构——二叉搜索树Binary Search Tree(介绍、Java实现增删查改、中序遍历等)
java·开发语言·数据结构
2401_8414956418 小时前
【数据结构】基于Floyd算法的最短路径求解
java·数据结构·c++·python·算法··floyd
珹洺18 小时前
Java-Spring入门指南(二十七)Android Studio 第一个项目搭建与手机页面模拟器运行
java·spring·android studio
程序猿DD18 小时前
Java 25 中的 6 个新特性解读
java·后端