@Autowired 와@Resource 의 차이
@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 속성 을 통 해 선택 적 으로 입력 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
면접 에서 자바 SE 와 관련 된 몇 가지 큰 문제인터페이스 라 는 것 은 바로 시스템 류 (구조) 디자인 에 대한 고려 를 바탕 으로 하 는 것 이다.시스템 은 보통 여러 모듈 을 설계 해 야 한다. 여러 모듈 간 의 결합 관 계 는 보통 인터페이스 로 연결 되 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.