inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

MemberServiceTest코드에서 AfterEach 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. MemberServiceTest에서 memberRepository를 사용하여 afterEach메서드를 통해 초기화 시켜주는데 memberService 안의 memberRepository가 final 하기 때문에 건드리지 못해서 밖에서 memberRepository 오버로딩을 통해 초기화 해주는건가요?? 맞다면 final 키워드가 붙어있는 memberRepository를 밖에서 오버로딩할수 있는건가요? MemberService안에 있는 memberRepository는 private final인데 그 밖에서 선언한 memberRepository를 초기화해주는것으로 어떻게 초기화가 되는거인지 궁금합니다...!!

  • java
  • MVC
  • spring
  • spring-boot
lts0424 댓글 1 좋아요 0 조회수 155

HelloBean에 빈 이름을 지정해야 하는 이유

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요 단순한 질문이긴 한데.. 제가 뭔가 착각하고 있나 싶어 질문 드립니다 ㅠ @Component 어노테이션을 붙이면 빈으로 등록이 되죠 그리고 등록될 때 이름을 지정하지 않으면 해당 클래스 이름의 첫글자를 소문자로 바꿔 등록된다고 이해하고 있는데요 강의 1분 24초에 HelloBean 이라는 클래스를 하나 만들어서 빈으로 등록해 사용하는데 이 때 @Component static class HelloBean{ } 이렇게만 등록해도 helloBean 이라는 이름으로 빈이 등록되 않나요? @Conponent("helloBean") 이라고 이름을 지정해 주어야만 정상적으로 코드가 동작하고 이름을 지정해 주지 않으면 빈을 찾을 수 없다는 에러가 발생하던데 결과적으로 빈의 이름을 지정하지 않아도 타임리프에서 사용된 빈의 이름과 일치할 텐데 빈 이름을 지정해야 코드가 정상적으로 동작하는 이유를 모르겠습니다..

  • MVC
  • spring
devmin 댓글 2 좋아요 6 조회수 731

트랜잭션 이해- 트랜잭션-적용1 부분 질문입니다.

해결됨

스프링 DB 1편 - 데이터 접근 핵심 원리

MemberServiceV1Test에서 assertThat(findMemberA.getMoney()).isEqualTo(8000); assertThat(findMemberB.getMoney()).isEqualTo(12000); 에서는 정상적으로 테스트가 되는데 assertThat(memberA.getMoney()).isEqualTo(8000); assertThat(memberB.getMoney()).isEqualTo(12000); 로 바꾸면 테스트가 실패하는 이유를 알고 싶습니다.

  • spring
바름이 댓글 1 좋아요 0 조회수 324

강의 끝까지 갔는데 findItems에서 에러나는 분 혹시 계시면 참고하십쇼..

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. SpringDataJpaItemRepository에서 영한님이 분명히 @Param 조심하라고 그렇게 말씀하셨는데 기어이 안 듣고 이상한 Param 썼다가 2시간 날린 사람 나야 나 ~~~~~ 저같은 바보 있으면 도움 되시길 기원합니다 @Param 반드시 org.springframework.data.repository.query.Param 이거 쓰셔야 합니다...

  • spring
euni 댓글 2 좋아요 0 조회수 615

DTO 사용방법

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 수업을 듣는데 궁금한 점이 생겨 질문을 올립니다. 데이터를 주고 받는 과정에서 엔티티를 직접 사용하는 것보다 DTO를 사용하는것이 더 좋다고 설명하시면서 controller 안에 필요한 class를 만들어서 사용하시는데 실제 업무에서나 일반적인 상황에서 따로 클래스를 만들어서 사용하는게 좋은지 강의에서의 방법처럼 controller안에서 필요할때 만들어서 사용하는 것이 좋은지 궁금해서 질문 올립니다.

  • spring-boot
  • spring
  • JPA
  • java
wjdghks6086 댓글 1 좋아요 2 조회수 702

ItemServiceTest 질문 있습니다!!

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

MemberServiceTest의 회원가입과 동일하게 ItemServiceTest 코드를 작성해 보았는데 다음과 같은 에러가 발생하네요... 왜 다른지 이해가 되지 않아서 질문드립니다.

  • 웹앱
  • JPA
  • spring-boot
  • spring
  • java
댓글 2 좋아요 0 조회수 489

AppConfig.class에서 빈을 등록하는 메서드가 static 메서드일 때.

미해결

스프링 핵심 원리 - 기본편

AppConfig.class 파일에서 @Bean이 붙는 메서드들을 static메서드로 설정했을 때도 싱글톤을 보장해주지 않는 것 같은데 왜 그런것일까요? 스프링 프레임워크 내부적으로 일반 메서드를 호출하는 것만 구현이 되서 그런것일까요?

  • oop
  • spring
조영인 댓글 1 좋아요 6 조회수 1206

자바17로 해도 되나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강좌에서는 자바 11로 하라고 하셨는데, 혹시 자바17로 해도 되는걸까요? Build.grade 의 sourceCompatibility 에 자바 17 버전이라고 돼있습니다 . Preference 의 gradle JVM 은 Project SDK corretto-17 Project settings 에서 SDK 는 corretto-17 Amazon Corretto version 17 입니다 . 그리고 혹시 JVM 에 원래 선택 돼있는 Project SDK corretto-17 말고 corretto-17 Amazon Corretto version 17.0.4 도 있는데 , 이걸로 바꿔야 하나도 궁금합니다 .

  • spring-boot
  • spring
  • java
  • MVC
bounjaeun 댓글 1 좋아요 0 조회수 1254

MVC2 타임 리프 입력 폼 처리에서 질문이 있습니다!

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강사님 타임리프 부분이 가물가물해서 복습하고 있는 수강생입니다. 다름이 아니라 '타임리프 - 스프링 통합과 폼' 챕터 '입력 폼 처리' 강의에 질문이 있어서 글을 남깁니다. 지금 저는 JPA를 사용하면서 MVC 2 강의를 복습하고 있고, 기본 생성자의 접근 제한자를 모두 protected로 두고 사용하고 있습니다. 강의 내용 중, addForm을 Get으로 불러올 때, 빈 객체를 넘기셔서 일단 강의대로 적용하기 위해 public으로 접근 레벨을 변경하였으나, 여기서 문제가 발생하였습니다. 질문이 몇개 있어서 번호를 붙여서 질문하겠습니다!! 1. 기본 생성자를 사용하여 진행 시, save 및 update가 정상 작동하지 않습니다 (id를 제외한 모든 값이 null로 들어갑니다) 이 경우, 제가 생각하기에 flush가 동작하지 않아 그런 것 같은데, 정확한 버그 발생 이유와 해결 방안이 너무 궁금합니다!!ㅠㅠ 2. 결국 엔티티에서 빈 객체 생성자를 public으로 두고 싶지 않아, ItemDTO를 따로 만들어서 빈 객체를 생성하여 넘겨줬는데, 이렇게 해도 기능 자체는 정상 작동했습니다. 혹시 이 경우, 문제가 되는 점이 있을까요? (DTO => 엔티티 변환 과정 하나도 없이 그냥 ItemDTO만 전달했습니다) 바쁘실텐데 질문 읽어주셔서 감사합니다!! 또 항상 좋은 강의 제공해주셔서 강사님과 인프런 모든 분들에게 너무 감사드립니다!

  • 타임리프
  • MVC
  • spring
ywonp94 댓글 2 좋아요 0 조회수 293

memberService 오류가 안 나는데 상관없나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

영상에서는 memberService 부분이 오류가 뜨는데 저는 처음 생성자를 만들 때부터 빨간 줄이 없습니다 제가 다른 부분에서 잘못 작성한게 있는건가요?

  • spring-boot
  • MVC
  • spring
  • java
21시 댓글 1 좋아요 5 조회수 465

`..` 다음에 *.*을 하는 이유

미해결

스프링 핵심 원리 - 고급편

안녕하세요. 코드를 따라치다가 한 가지 궁금한 점이 있습니다. 이전에 배우기로는 `..`는 하위 패키지를 포함하는 걸로 알고 있습니다. @Before ( " execution(* hello.aop.internalcall..*.*(..)) " ) 위 코드 대신에 @Before ( " execution(* hello.aop.internalcall..*(..)) " ) 이렇게만 만해도 충분하지 않나요? 1번처럼 작성하신 이유가 궁금합니다.

  • 디자인-패턴
  • spring
강성욱 댓글 1 좋아요 1 조회수 383

리포지토리 테스트 도중 10:40 하면~ 질문

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 ! 회원 리포지토리 테스트 케이스 작성 중에 10:40 쯤 repository.findAll(); 에서 하면~~ 하고 List<Member> all = repository.findAll(); 이렇게 넘어가는데 윈도우 버전 어떤 단축키를 사용하는건지 궁금합니다 그리고 뭘 하는 건가요?

  • java
  • spring
  • MVC
  • spring-boot
bam 댓글 1 좋아요 0 조회수 328

Address 클래스에서 @Embeddable 이유

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

Address, Member, Order 클래스에서 Address 클래스에만 @Embeddable, @Embedded 어노테이션을 다는 이유가 궁금합니다. @Entity를 달면 안되는 이유가 있나요?

  • java
  • spring-boot
  • spring
  • 웹앱
  • JPA
용가리 댓글 1 좋아요 0 조회수 338

JUnit5에서 @Autowired사용 이유

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 회원도메인 개발 섹션의 회원 기능 테스트 강의를 듣다가 궁금한 점이 생겨서 질문을 남깁니다. 테스트를 할 때 MemberService와 MemberRepository를 사용하기 위해 @Autowired를 이용해 진행하셔서 제가 별도로 AnnotationConfigApplicationContext 를 사용해 테스트 코드를 수정해봤더니 첨부한 사진과 같이 테스트에 실패하였습니다. 어쨌든 MemberService와 MemberRepository모두 스프링 컨테이너에 등록됐고, 의존성 주입도 완료됐기 때문에 테스트가 통과될 줄 알았는데, 어느 부분에서 제가 잘못 이해하고 있는 것인지 구글링을 해봐도 명확한 답을 찾지 못해 질문 남깁니다. 제가 야생형 코스를 따라가려고 아직 JPA첫 번째 강의는 보지 못한 상태입니다. 아래는 제가 수정한 코드입니다. AutoAppConfig 클래스를 생성해 @ComponentScan애노테이션도 붙인 상태로 진행했습니다. // MemberServiceTest package japbook.jpashop.service ; import japbook.jpashop.AutoAppConfig ; import japbook.jpashop.domain.Member ; import japbook.jpashop.repository.MemberRepository ; import org.assertj.core.api.Assertions ; import org.junit.jupiter.api. Test ; import org.springframework.beans.factory.annotation. Autowired ; import org.springframework.boot.test.context. SpringBootTest ; import org.springframework.context.ApplicationContext ; import org.springframework.context.annotation.AnnotationConfigApplicationContext ; import org.springframework.transaction.annotation. Transactional ; import static org.junit.jupiter.api.Assertions.* ; @SpringBootTest @Transactional class MemberServiceTest { // @Autowired // MemberService memberService; // // @Autowired // MemberRepository memberRepository; AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig. class ) ; MemberService memberService = ac .getBean(MemberService. class ) ; MemberRepository memberRepository = ac .getBean(MemberRepository. class ) ; @Test public void 회원가입 () { // MemberService bean = ac.getBean(MemberService.class); // System.out.println("bean = " + bean); Member member = new Member() ; member.setName( "Cha1" ) ; Long savedMember = memberService .join(member) ; Assertions. assertThat (member).isEqualTo( memberRepository .findOne(savedMember)) ; } @Test public void 중복회원예외 () { } } // AutoAppConfig package japbook.jpashop ; import org.springframework.context.annotation. ComponentScan ; @ComponentScan public class AutoAppConfig { }

  • spring
  • java
  • 웹앱
  • JPA
  • spring-boot
차영호 댓글 4 좋아요 0 조회수 775

멀티스레드,서블릿 관련 질문드립니다

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

서블릿의 등장으로 인해 얻는이점이 멀티스레드처리를 지원한다고 이해했습니다. 제가 전에 공부했던 기억으론 웹브라우저와 웹서버가 통신을하는 형태가 되면서 네트워크프로그래밍, 멀티스레드 프로그래밍을 신경쓰지않아도 되게되었고, WAS에서는 비즈니스로직, UI로 직만 신경쓰면 된다 라고 공부했던 기억이 있습니다 제가봤던 부분의 그림입니다 조금 헷갈리는것이 1. 서블릿을 웹서버, 톰캣을 WAS 라고 보면 되는걸까요?? 2. 혹시 서블릿이 아니더라도 웹서버라면 어떤것이라도 멀티스레드 프로그래밍, 네트워크 프로그래밍을 신경쓰지않아도 되는것인가요?

  • MVC
  • spring
댓글 1 좋아요 2 조회수 344

update 쿼리를 날려도 이미 생성된 인스턴스에는 영향을 못 주는 건가요?

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강의에서 update 메서드로 member 인스턴스의 money를 변경해준 뒤 findById로 새롭게 불러와서 사용하길래 저는 궁금해서 그냥 기존 member 인스턴스에 그대로 검증해보니 값이 적용되어 있지 않더라구요. 쿼리로 값을 변경해줬으면 매번 인스턴스를 갱신해줘야 하나요? mysql에서 값을 update로 변경해줬으면 그걸 확인하기 위해 다시 select해줘야하는 것과 동일선상에서 생각하면 되는 걸까요?

  • spring
euni 댓글 1 좋아요 1 조회수 321

Item 엔티티와 OrderItem 엔티티와의 일대다 관계 매핑

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하십니까 Order 엔티티와 OrderItem 엔티티의 일대다 관계에서는 @OneToMany(mappedBy = "order") private List<OrderItem> orderItems = new ArrayList<>(); 위와 같이 매핑을 해줬는데 Item 엔티티와 OrderItem 엔티티의 일대다 관계에서는 매핑을 안해줘도 되나요?

  • 웹앱
  • spring-boot
  • JPA
  • java
  • spring
배효셩 댓글 2 좋아요 0 조회수 379

MemberRepositoryTest 실행시 오류

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

실행시 다음과 같은 에러가 발생합니다. initializationError() build.gradle 파일코드는 아래와 같습니다. plugins { id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id 'java' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //JUnit4 추가 testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" } } test { useJUnitPlatform() } ylm 파일 띄어쓰기도 맞췄고, url의 MVCC=TRUE도 제거했으며 build Tools > Gradle 도 IntelliJ IDEA로 맞췄는데 어느부분이 문제인지 모르겠습니다. H2 콘솔도 잘 켠 것 같습니다만.. 어디가 잘못된걸까요..?

  • spring
  • 웹앱
  • JPA
  • java
  • spring-boot
수푸링 댓글 2 좋아요 0 조회수 751

임베디드 모드를 많이 사용하나요?

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

임베디드 모드를 사용하게 되면 장점이 있긴 하지만 통합 테스트를 할때 실제 운영 디비와 다르다는 가장 큰 단점이 존재하는데 이것에 대해 어떻게 생각하시나요?

  • spring
jeonek 댓글 1 좋아요 0 조회수 542

이너 static class

미해결

스프링 핵심 원리 - 기본편

package hello.core.beanfind; import hello.core.AppConfig; import hello.core.repository.MemberRepository; import hello.core.repository.MemoryMemberRepository; import hello.core.service.MemberService; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.beans.factory.UnsatisfiedDependencyException; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import static org.junit.jupiter.api.Assertions.*; public class ApplicationContextSameBeanFindTest { AnnotationConfigApplicationContext ac=new AnnotationConfigApplicationContext(SameBeanConfig.class); @Test @DisplayName("타입으로 조회시 같은 타입이 둘 이상 있으면, 중복 오류가 발생한다") void findBeanByTypeDuplicate() { //DiscountPolicy bean = ac.getBean(MemberRepository.class); assertThrows(NoUniqueBeanDefinitionException.class, () -> ac.getBean(MemberRepository.class)); } @Configuration static class SameBeanConfig{ @Bean public MemberRepository memberRepository(){ return new MemoryMemberRepository(); } @Bean public MemberRepository memberRepository2(){ return new MemoryMemberRepository(); } } 이 코드에서 static이너클래스면 실행이 되고 그냥 이너클래스이면 안되는 이유가 뭔지 궁금합니다. }

  • spring
  • oop
dduckmane 댓글 1 좋아요 0 조회수 287

인기 태그

인프런 TOP Writers

주간 인기글