인프런 커뮤니티 질문&답변

11 1님의 프로필 이미지
11 1

작성한 질문수

스프링 핵심 원리 - 기본편

옵션 처리

오타인가요?

해결된 질문

작성

·

281

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

의존관계 자동 주입.pdf의 6페이지 맨 위에

@Autowired(required = false)

public void setNoBean3(Optional<Member> member) {

System.out.println("setNoBean3 = " + member);

}

이렇게 되어 있는데 (required = false)는 오타인가 싶어서 말씀드립니다.

 

 

 

그리고 5페이지에

@Autowired(required=false): 자동 주입할 대상이 없으면 수정자 메서드 자체가 호출 안 됨

 

이 내용이 있는데, 수정자 메서드라고 적혀 있기는 하지만 일반 메서드 주입일 때도 마찬가지라고 생각하면 되는 거죠?

수정자 메서드 주입 방식일 때 많이 쓰여서 그냥 수정자 메서드라고 적혀 있는 거라고 생각하긴 하는데 맞나요?

답변 1

1

안녕하세요. 11 1님, 공식 서포터즈 y2gcoder입니다.

의존관계 자동 주입.pdf의 6페이지 맨 위에

@Autowired(required = false)

public void setNoBean3(Optional<Member> member) {

System.out.println("setNoBean3 = " + member);

}

이렇게 되어 있는데 (required = false)는 오타인가 싶어서 말씀드립니다.

=> 맞습니다. Optional로 받을 때는 required 옵션을 false로 주지 않아도 됩니다!

 

그리고 5페이지에

@Autowired(required=false): 자동 주입할 대상이 없으면 수정자 메서드 자체가 호출 안 됨

 

이 내용이 있는데, 수정자 메서드라고 적혀 있기는 하지만 일반 메서드 주입일 때도 마찬가지라고 생각하면 되는 거죠?

수정자 메서드 주입 방식일 때 많이 쓰여서 그냥 수정자 메서드라고 적혀 있는 거라고 생각하긴 하는데 맞나요?

=> 생각하신 내용이 맞습니다! 아마 일반 메서드 주입을 사용하는 케이스가 정말 드물기 때문인 것 같습니다.

 

감사합니다.

11 1님의 프로필 이미지
11 1
질문자

답변 감사합니다!

11 1님의 프로필 이미지
11 1

작성한 질문수

질문하기