注入依赖对象

  

两种注解注入依赖对象

     @Autowired

      @Resource

@Autowired 默认按类型装配。

@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。

    @Autowired
    private PersonDao  personDao;//用于字段上
    @Autowired
    public void setOrderDao(OrderDao orderDao) {//用于属性的setter方法上
        this.orderDao = orderDao;
    }

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

      @Autowired  @Qualifier("personDaoBean")
      private PersonDao  personDao;

@Resource注解和@Autowired一样,也可以标注在字段或属性的setter方法上,但它默认按名称装配。名称可以通过@Resource的name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。

    @Resource(name=“personDaoBean”)
    private PersonDao  personDao;//用于字段上

注意:如果没有指定name属性,并且按照默认的名称仍然找不到依赖对象时, @Resource注解会回退到按类型装配。但一旦指定了name属性,就只能按名称装配了。

时间: 2024-10-13 22:12:48

注入依赖对象的相关文章

spring 什么是依赖对象???? 什么是依赖注入???? 他们有什么关系????

问题描述 spring什么是依赖对象????什么是依赖注入????他们有什么关系????

NHibernate之旅(8):巧用组件之依赖对象

本节内容 引入 方案1:直接添加 方案2:巧用组件 实例分析 结语 引入 通过前面7篇的学习,有点乏味了~~~这篇来学习一个技巧,大家一起想想如果我要在Customer类中实现一个Fullname属性(就是Firstname和Lastname的组合)该怎么做呢? 方案1:直接添加 "我知道!修改Customer类,添加一个Fullname属性!即Customer.Fullname!" "恩,完全正确......" "这就意味着在Customer类中把Fir

[NHibernate]组件之依赖对象

目录 写在前面 文档与系列文章 组件之依赖对象 一个例子 总结 写在前面 周一至周四一直在成都出差,也一直没有更新博客了,一回到家第一件事就是扒一扒最近博客园更新的文章,然后把想看的收藏了,大概有20篇左右,包括基础的js或者jquery(快速浏览,复习基础),java方面的(主要了解实现业务的思想),asp.net webform\mvc(webform的快速浏览,mvc深入理解)等等,从昨天晚上到今天上午算是花费了7.8个小时的时间把收藏夹里面的文章看了一边. 现在就继续NHibernate

spring-关于Resource注入原型对象的问题

问题描述 关于Resource注入原型对象的问题 spring初学者,发现一个spring(或javaEE)关于注入原型对象的问题.请大牛们帮忙看看是我理解不对,还是spring或者javaEE的bug? 背景: 1.定义两个类分别是A和B,同时这两个类都定义为原型(即:scope="prototype"): 2.A中一个属性定义的为B类型,即:A实例的创建过程中是需要注入一个B实例到A中的: 3.spring使用的3.1.2.RELEASE版本,jdk为1.6.0_10 测试方法及结

iOS 混合应用的关键点分析 - 仿 Android 平台 WebView 可注入本地对象方法的功能实现要点

iOS 混合应用的关键点分析 - 仿 Android 平台 WebView 可注入本地对象方法的功能实现要点 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 对于 iOS 和 Android 平

Spring.NET依赖注入(二) - 对象的注入

1. 抽象注入接口 public interface IDeviceWriter    {        void saveToDevice();    }   2. 接口的具体实现   实现1 public class FloppyWriter : IDeviceWriter    {        public void saveToDevice()         {            Console.WriteLine("储存至软盘-");        }    }  

spring入门(6) set方法注入依赖之null的注入

Member.java package www.csdn.spring.constructor.bean; public class Member { } MemberBean.java package www.csdn.spring.constructor.bean; public class MemberBean { public String name; public Member member; public void setMember(Member member) { this.me

利用AnnotationMethodHandlerAdapter对Spring的Controller注入session对象

在利用spring的mvc开发过程中,需要将User对象从session中取出来使用.参照网上的做法,我利用 了AnnotationMethodHandlerAdapter来解决这个问题.下面是XML代码,放到web-inf下面的springMVC配 置文件中: <bean id="userArgumentResolver" class="com.greatwall.module.yhqxgl.interceptor.UserArgumentResolver"

Spring中为bean注入Date对象

比如我们有下面的一个bean: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.Date;    public class Customer {        Date date;        public Date getDate() {         return date;     }        public void setDate(Date date) {         this.date