inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Spring nhập môn học bằng ví dụ (ấn bản sửa đổi)

Tiêm phụ thuộc

의존성 주입 방법들 장단점

488

youman79539489

23 câu hỏi đã được viết

0

각 DI 방법들 중 저는 개발할때 private final 키워드를 사용해서 @RequiredArgsConstructor로 주입하는데 이게 생성자 주입이고 테스트케이스 때는 필드주입을 사용하는데 제가 이렇게 사용하는게 주변 친구들과 관례때문에 이렇게 사용하는데 이것도 문제죠 알지도 못하면서 일단 쓰는게,, 서론이 너무 길네요 죄송합니다

 

각설하고 제 질문에 대해 말하자면 생성자 주입을 권장하는 이유가 이 final이란 키워드를 사용할 수 있어서 인가요? 보니까 생성자 주입을 제외한 다른 의존성 주입 방법들은 final 키워드를 못쓰는거 보니까 컴파일 레벨때 의존성 주입을 못하는거 같더라구요 이게 맞나요? 만약 아니시라면 final 키워드는 왜 못쓰는건가요?

 

그리고 테스트케이스에서는 왜 생성자주입 말고 필드 주입을 사용하나요? 테스트케이스는 해당 클래스 단일로 실행되고 테스트되어서 상호참조 문제가 일어나지 않기 때문에 필드주입을 사용하는건가요? 

늦은 시간에 무료 강의에 이렇게 장문 질문남겨 죄송합니다. 유튜브에서도 잘 보고있습니다!!

java spring

Câu trả lời 1

2

whiteship

음.. 제가 질문을 잘 이해를 못하겠습니다. 테스트건 테스트가 아니건, 생성자 주입을 사용할거냐, 세터 주입을 사용거냐는 해당 의존성이 반드시 필요한 의존성인지 없어도 되는 의존성인지에 따라 달라질 것 같습니다. 반드시 필요한 생성자 주입이 더 적당하죠. 그 의존성 없이는 해당 객체를 못만들테니까, 해당 객체가 반드시 필요로 하는 의존성을 가진 상태로만 객체를 만들 수 있도록 강제할 수 있죠.

jar 안되는 분들 참고하세요

0

359

1

mvnw 오류

0

461

1

./mvnw package 오류

0

419

2

java -jar target/*.jar 명령어 오류..

0

446

2

./mvnw package 오류

0

278

0

./mvnw package 오류

0

210

1

실행 상태에서 변경내용이 바로 반영되나요 ??

0

224

1

도와주세용 ㅜㅜ

0

205

1

./mvnw package 오류

0

318

1

클론 받은 내용과 수업내용이

0

399

1

./mvnw package 오류

0

1143

2

순환참조와 bean 주입에 대한 질문입니다!

0

407

1

jdk 버전이 자꾸 낮다면서 오류가 발생합니다.

0

890

1

age가 화면에 표시가 안됩니다.

0

394

0

에러가 뜨는데 어떻게 해야할지 도저히 모르겠어요

0

1640

1

PetClinicApplication() 함수에서 run 을 하고 싶습니다...

0

519

0

h2와 hsqldb가 어떤차이가 있는건지 궁금합니다

0

1244

0

예제가 이전과 다르네요

0

369

0

메이븐으로 설정했는데 그래들이 같이 보일수 있나요?

0

572

1

LogAspect

0

325

1

구현체가 2개 이상일때 생성자 주입

0

363

1

인스턴스의 생명주기와 제어권

0

306

1

IoC 컨테이너 안에 있는 객체들끼리만 의존성 주입

0

367

1

ExampleRepository exampleRepository = new ExampleRepository()

0

243

1