@Autowired 와@Resource 의 차이

2143 단어 면접시험기초
1.@Autowired
@Autowired 는 기본적으로 유형 별로 조립 합 니 다(이 주 해 는 spring 에 속 합 니 다).기본 적 인 상황 에서 의존 대상 이 존재 해 야 합 니 다.null 값 을 허용 하려 면 required 속성 을 false 로 설정 할 수 있 습 니 다.예 를 들 어@Autowired(required=false)와 같이 이름 을 사용 하려 면@Qualifier 주 해 를 결합 하여 사용 할 수 있 습 니 다.
    // type  ,      ,    
    @Autowired
    private MyBean myBean;

    // type  ,      ,     
    @Autowired(required = false)
    private MyBean myBean;

    // type  ,      ,    
    @Autowired(required = true)
    private MyBean myBean;


    // name  ,      ,    
    @Autowired
    @Qualifier("myBean")
    private MyBean myBean;

    // name  ,      ,     
    @Autowired(required = false)
    @Qualifier("myBean")
    private MyBean myBean;

2.@Resource
@Resource(이 주 해 는 J2EE 에 속 합 니 다)는 기본적으로 이름 에 따라 조립 합 니 다.이름 은 name 속성 으로 지정 할 수 있 습 니 다.name 속성 이 지정 되 지 않 으 면 주 해 를 필드 에 쓸 때 기본 으로 필드 이름 을 가 져 와 설치 이름 을 찾 습 니 다.주 해 를 setter 방법 에 쓰 면 기본 으로 속성 이름 을 가 져 와 조립 합 니 다.이름과 일치 하 는 bean 을 찾 을 수 없 을 때 만 유형 에 따라 조립 합 니 다.그러나 주의해 야 할 것 은 name 속성 이 지정 되면 이름 에 따라 만 조립 된다 는 것 이다.@Resource 조립 순서 1.name 과 type 을 동시에 지정 하면 Spring 컨 텍스트 에서 유일 하 게 일치 하 는 bean 을 찾 아 조립 하고 찾 지 못 하면 이상 을 던 집 니 다.2.name 을 지정 하면 컨 텍스트 에서 이름(id)이 일치 하 는 bean 을 찾 아 조립 하고 찾 지 못 하면 이상 을 던 집 니 다.type 을 지정 하면컨 텍스트 에서 형식 이 일치 하 는 유일한 bean 을 찾 아 조립 합 니 다.찾 을 수 없 거나 여러 개 를 찾 으 면 이상 이 발생 합 니 다.4.name 도 지정 되 지 않 고 type 도 지정 되 지 않 으 면 자동 으로 by Name 방식 으로 조립 합 니 다.일치 하지 않 으 면 유형 에 따라 일치 하 는 것 으로 되 돌아 가 고 일치 하면 자동 으로 조립 합 니 다.
    //   name  ,name  ,  type  ,      
    @Resource
    private MyBean myBean;

    // type  ,,      
    @Resource(type = MyBean.class)
    private MyBean myBean;

    // name  ,      
    @Resource(name = "myBean")
    private MyBean myBean;
  
    // name type  ,,      
    @Resource(name = "myBean",type = MyBean.class)
    private MyBean myBean;

요약:
@Autowired//기본 값 은 type 에 따라 주입 합 니 다.type 에 따라@Qualifier//를 주입 할 수 있 습 니 다.일반적으로@Autowired()의 수식 용 으로 bean 을 주입 하 는 이름 을 지정 하여 이름 에 따라 주입 하 는 기능 을 수행 합 니 다.@Resource//기본 값 은 name 에 따라 주입 합 니 다.name 과 type 속성 을 통 해 선택 적 으로 입력 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기