학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 강의를 듣다가 약간 헷갈리는 부분이 있어 간단한 질문드립니다. getBean() 메소드의 매개변수로, '빈 이름'과 '타입'이 있다고 이해했습니다. 여기서 '타입'이 정확히 무엇을 의미하는지 헷갈립니다. @Bean 애노테이션이 붙은 메소드의 리턴 타입을 의미하는 것일까요? @Bean public MemberRepository memberRepository1() { return new MemoryMemberRepository(); } @Bean public MemberRepository memberRepository2() { return new MemoryMemberRepository(); } 예를 들어 위 코드의 경우, 둘 다 MemberRepository 타입을 반환하기 때문에 빈 타입으로 MemberRepository이 저장되는 것인가요? 그리고 동일한 타입 둘 이상인 경우 발생하는 NoUniqueBeanDefinitionException도 @Bean에 등록된 반환타입이 동일하기 때문에 발생하는 것인지도 궁금합니다. 추가적으로 앞 강의에서 getBean()을 사용할 때 구체 타입(예: MemoryMemberRepository.class)을 사용할 수도 있다고 했는데, 이건 MemoryMemberRepository의 부모가 MemberRepository이기 때문인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 프로토타입 빈 요청 시 스프링컨테이너가 새로 생성된다 했는데 그럼 2번 요청하면 스프링컨테이너가 2개 생성되나요?
안녕하세요. 최종 질문은 마지막 문단에 하였습니다. [빈 후처리기 - 예제코드2] 강의 관련 질문드립니다. 빈 후처리기 자체가 스프링 빈으로 등록이 가능한데, 예제에서 나오는 AtoBPostProcessor 이외에 제가 임의로 C클래스를 작성하고 B toCPostProcessor 후처리기를 빈으로 등록해봤습니다. 그리고 컨테이너에 1) A toBPostProcessor 2) B toCPostProcessor 순서대로 빈을 등록하였습니다. 테스트 코드에서는 A 타입의 빈을 찾고 C 타입으로 캐스팅하여 c.helloC()를 실행한 결과 문제없이 동작하였습니다. 그리고 빈 후처리기 동작 순서또한 빈 후처리 등록 순서와 같았습니다. 이번에는 컨테이너에 등록할 때, 1) B toCPostProcessor 2) A toBPostProcessor 순서대로 등록하였더니, 오류가 발생하였습니다. 위에서 말씀드린 것처럼 컨테이너에 빈 후처리기를 빈으로 등록한 순서대로 후처리기를 통과(?)하는 것 같습니다. 질문은 1) 빈 후처리기 순서를 조작할 수 없는지? (그럴 필요는 있는지?) 2) 연쇄적(?)으로 빈후처리기를 등록하는 일이 있는지? => 즉, 첫 번째 후처리기의 결과에 따라 그 다음 후처리기를 호출할 필요가 있는지, ( 실무에서 여러 개의 빈 후처리기의 순서를 제어할 필요가 발생하는지) 감사합니다.
안녕하세요! 스프링 빈의 역할이 무엇인지 잘 모르겠습니다..! 빈 자체의 개념이 이해가 안가서 서치를 좀 해보니 " 매번 클라이언트에서 요청이 올 때마다 각 로직을 담당하는 오브젝트를 새로 만들어서 사용한다고 생각해보자 요청 한 번에 5개의 오브젝트가 새로 만들어지고 초당 500개의 요청이 들어오면, 초당 2500개의 새로운 오브젝트가 생성된다. 서버가 감당하기 힘들다." 그래서 빈이 필요하다 라는 말을 봤는데 그 필요성은 알겠으나 정확하게 빈이 무엇인지 모르겠습니다 또한 왜 new로 선언하면 빈이 되지 못하는건가요?