`

Spring_@Autowired Vs Java_@Resource 的区别

 
阅读更多

一、 @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上。

二、 @Autowired属于Spring的;@Resource为JSR-250标准的注释,属于J2EE的。

三、 @Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,例如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:

@Autowired() 

@Qualifier("baseDao")

private BaseDao baseDao;

四、 @Resource,默认安装名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名进行安装名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。 例如:

@Resource(name="baseDao")

private BaseDao baseDao;

五、 推荐使用:@Resource注解在字段上,这个注解是属于J2EE的,减少了与spring的耦合。这样代码看起就比较优雅。

分享到:
评论

相关推荐

    1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。.pdf

    1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。

    详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决

    主要介绍了详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    spring基础

    @Resource 的作用相当于 @Autowired,只不过 @Autowired 按 byType 自动注入,面 @Resource 默认按 byName 自动注入罢了。@Resource 有两个属性是比较重要的,分别是 name 和 type,Spring 将 @Resource 注释的 name...

    高级开发spring面试题和答案.pdf

    Spring下描述依赖关系@Resource, @Autowired和@Inject的区别与联系 Spring中BeanFactory和ApplicationContext的区别 谈谈Spring IOC的理解,原理与实现? bean的生命周期,详细看上面 SpringBoot自动装配的过程的原理...

    Spring面试题.zip

    1、什么是 Spring 框架?Spring 框架有哪些主要模块? 2、使用 Spring 框架能带来哪些好处?...24、FileSystemResource 和 ClassPathResource 有何区别? 25、Spring 框架中都用到了哪些设计模式?

    Spring面试专题.pdf

    1、什么是 Spring 框架?Spring 框架有哪些主要模块? 2、使用 Spring 框架能带来哪些好处?...24、FileSystemResource 和 ClassPathResource 有何区别? 25、Spring 框架中都用到了哪些设计模式?

    dependency-injection-spring:Spring依赖注入的最简单示例

    没有XML的Spring Dependency Injection示例 最简单的示例Spring ...批注@ Inject,@ Resource和@Autowired之间的区别 更多演示 Java EE World示例可在以下位置找到: : 可以在这里找到Spring Wordl示例: :

    25个经典的Spring面试问答

    什么是Spring框架Spring框架有哪些主要模块 使用Spring框架能带来哪些好处 什么是控制反转IOC什么是依赖注入 ...FileSystemResource和ClassPathResource有何区别 Spring 框架中都用到了哪些设计模式

    java7源码-spring-boot-starter-lock:spring分布式锁

    java7 源码 分布式锁 - starter 基于redis 的 setnx 实现 和 zk 的分布式锁组件 使用场景: case1: bean注入获取锁 application.properties(yml) 配置相关的lockName, 例如: lock.names = test_lock, demo_lock, ...

    javax.annotation-api-1.3.jar

    @Resource注解所在的jar包 与@Autowired不同的是此注解是ByName进行依赖注入的

    springboot学习思维笔记.xmind

    @Autowired:Spring提供的注解 @Inject:JSR-330提供的注解 @Resource:JSR-250提供的注解 Java配置 @Configuration声明当前类是一个配置类 @Bean注解在方法上,声明当前方法的返回值为一个...

    Spring中文帮助文档

    3.11.1. @Autowired 3.11.2. 基于注解的自动连接微调 3.11.3. CustomAutowireConfigurer 3.11.4. @Resource 3.11.5. @PostConstruct 与 @PreDestroy 3.12. 对受管组件的Classpath扫描 3.12.1. @Component和更...

    Spring API

    3.11.1. @Autowired 3.11.2. 基于注解的自动连接微调 3.11.3. CustomAutowireConfigurer 3.11.4. @Resource 3.11.5. @PostConstruct 与 @PreDestroy 3.12. 对受管组件的Classpath扫描 3.12.1. @Component和更...

    分布式逻辑管理平台xxl-glue.zip

    4、兼容Spring:无缝兼容Spring, 支持@Resource和@Autowired两种方式注入Spring容器中服务; 5、版本:支持50个历史版本的版本回溯; 6、调试: 在开发阶段可开启本地模式, 该模式下将会加载本地...

    Spring 3 Reference中文

    第一部分 Spring framework 概述..5 第1 章 Spring Framework 介绍..6 1.1 依赖注入和控制反转.6 1.2 模块6 1.2.1 核心容器.7 1.2.2 数据访问/ 整合..7 1.2.3 Web ..8 1.2.4 AOP...

    Spring攻略(第二版 中文高清版).part1

    1.12 用@Autowired和@Resource自动装配Bean 41 1.12.1 问题 41 1.12.2 解决方案 41 1.12.3 工作原理 41 1.13 继承Bean配置 47 1.13.1 问题 47 1.13.2 解决方案 47 1.13.3 工作原理 48 1.14 从...

    Manning.Spring.in.Action.4th.Edition.2014.11.epub

    11.2. Spring and the Java Persistence API 11.2.1. Configuring an entity manager factory 11.2.2. Writing a JPA-based repository 11.3. Automatic JPA repositories with Spring Data 11.3.1. Defining query ...

    springmybatis

    1. 在MyBatis 里面创建两个源码目录,分别为 src_user,test_src, 用如下方式建立,鼠标右键点击 JavaResource. 2. 设置mybatis 配置文件:Configuration.xml, 在src_user目录下建立此文件,内容如下: 程序代码 程序...

    Spring攻略(第二版 中文高清版).part2

    1.12 用@Autowired和@Resource自动装配Bean 41 1.12.1 问题 41 1.12.2 解决方案 41 1.12.3 工作原理 41 1.13 继承Bean配置 47 1.13.1 问题 47 1.13.2 解决方案 47 1.13.3 工作原理 48 1.14 从...

    乐优商城.xmind

    CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 跨域问题 浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是于当前页同域名的路径,这能有效的...

Global site tag (gtag.js) - Google Analytics