월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨스프링 핵심 원리 - 기본편
빈 생성 로그가 보이지 않아요
안녕하세요!강의를 따라하고 있었는데 선생님은 OrderApp MemberApp을 실행하면 빈생성 로그가 보이는데 저는 보이지 않습니다.추가적으로 프로퍼티파일에 로그찍히도록 설정해줘도 되지않아요ㅜㅜ 해결할 방법이 있을까요?감사합니다!
- 미해결스프링 핵심 원리 - 기본편
Spring boot 사용시 @Configuration 대한 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 이해한 부분은 @ComponentScan은 해당 어노테이션이 붙은 클래스 패키지부터 시작해서 하위 패키지를 모두 뒤지고 @Component 가 붙은 부분을 스프링빈으로 컨테이너에 등록한다는것으로 이해했습니다.그리고 Spring boot의 경우 @SpringBootApplication이 CoreApplication에 붙어있고 해당 어노 테이션은 @ComponetScan 내포하고 있고 그 위치가 프로젝트 최상위에 위치하다보니 결국 @ComponetScan 을 쓸필요가 없어지는것으로 이해했습니다. 이해가 안되는것은 @Configuration 에 대한 내용인데요. @SpringBootApplication 로 들어가보니 @Configuration는 포함하고 있지 않던데 어떻게 Spring boot에서 @Configuration이 사용되는건가요?
- 해결됨스프링 핵심 원리 - 기본편
생성자 주입 시, final 키워드를 넣어야만 할까요?
final 키워드를 넣는 것이 가능하다.하지만, final 키워드를 넣어야만 하는가가 의문입니다. 만약, 생성자 주입 시 final 키워드를 넣어야 하는 이유가 뭔가요 라고 질문 받았을 때 뭐라고 답해야할까요?
- 해결됨스프링 핵심 원리 - 기본편
destroyMethod = "close" 에 대해서 궁금한게 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]destoryMethod = "closed" 라고 하고NetworkClient 클래스에 private void closed() { System.out.println("destroy"); disconnect(); } 이렇게 메소드는 만들었는데 접근제한자가 private 인데도 detoryMethod= "closed"로 사용이 가능한데 이게 접근제한자와는 상관없이 사용가능한 이유를 알고싶습니다..
- 미해결스프링 핵심 원리 - 기본편
SingletonTest.java 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]기본편 - 프로토타입 스코프코드를 입력하던 중SingletonTest.javaa에서 assertions, assertThat에서 에러가 발생하였습니다.그래서 build.gradle에 다음과 같이 코드를 추가하고, reload를 하였음에도해당 오류가 사라지지 않는데, 어떻게 해결하면 될까요?
- 미해결스프링 핵심 원리 - 기본편
초기화, 소멸 인터페이스의 단점에서 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]초기화, 소멸 인터페이스의 단점부분에서 아래의 내용이 언급 되었습니다. 내가 코드를 고칠 수 없는 외부 라이브러리에 적용할 수 없다클래스파일로 컴파일되어있는 수정이 불가한 라이브러리를 받았다고 가정해보자. 이 라이브러리의 초기화와 종료 메서드를 무조건 호출 해주어야 한다. 스프링 빈으로 이미 등록 했는데 우리는 코드를 고칠 방법이 없다. 위에 주어진 예시가 잘 이해가 안가서 좀 더풀어서 설명 가능하실까요?
- 해결됨스프링 핵심 원리 - 기본편
required = false 에 대해서 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용] @Autowired(required = true) public void setNoBean1(Member noBean1){ System.out.println("noBean1 = " + noBean1); } 해당 코드에서 오류가 나는 이유가 Member가 빈으로 등록되어있지 않아서 자동 주입할 대상이 없어서 나는 오류라고 하셨는데 그렇다면 Nullable,OPtional은 스프링 자체적으로 무엇인가 처리해준다고 보면 되는것일까요?
- 해결됨스프링 핵심 원리 - 기본편
싱글톤 문제점: DIP 위반
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]제목의 키워드에 관한 질문글들을 읽으면서 의문이 생겨 질문드립니다. 먼저 제가 질문글들을 읽고 이해하고있는 내용은 다음과 같습니다.싱글톤을 사용한다하여 무조건 DIP를 위반하는 것이 아니다. AppConfig를 사용하면 DIP위반을 피할 수 있다. 즉, 클라이언트에서 getInstance로 싱글톤 객체를 직접 참조하는 것이 아닌, 외부에서 getInstance로 반환된 싱글톤 객체를 의존성 주입을 받아 사용하면 DIP를 준수 할 수 있다.그런데 이렇게 이해를 하니 DIP를 위반하는 것은 싱글톤을 사용함에 따라 생기는 문제가 아닌 의존성주입을 사용하지 않음에 따라 생기는 문제인것 같다는 의문이 생깁니다."의존관계상 클라이언트가 구체 클래스에 의존한다"라고 되어있는데, 기존에 역할에만 잘 의존하고 있던 클라이언트가 구현체가 싱글톤으로 바뀜에 따라 역할이 아닌 구체에 의존해야만하는 강제적인 상황이 발생하는 경우가 존재하는건가요?
- 미해결스프링 핵심 원리 - 기본편
인텔리제이 하단 창이 제대로 안나옵니다.
갑자기 좌측하단창이 나오지 않습니다..어떻게 해야 나오게 할 수 있을까요?
- 해결됨스프링 핵심 원리 - 기본편
객체 생성에 대해 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니요3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]저와 같은 생각을 하신분이 질문을 했는데제가 이해한게 맞는지 여쭤봅니다.ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); 이게 아닌 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);으로 강의에서 말씀하셨는데개방 폐쇄 원칙에는 ApplicationContext 를 사용하는게 맞지만AnnotationConfigApplicationContext 에서 필요한 기능이 있기때문에 AnnotationConfigApplicationContext 이걸로 사용했다고 보면 될까요? 개방 폐쇄 원칙에는 어긋나지만 테스트기때문에 사용했다 라고 보면 될까요?
- 미해결스프링 핵심 원리 - 기본편
실제 업무중에 조회빈 중복문제가 자주발생하는지?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이번 강의를 들으면서 궁금한 점이 생겨서 질문드립니다실제로 회사내 개발업무 중 조회 빈이 2개 이상 중복되는 문제가 자주 있나요?
- 미해결스프링 핵심 원리 - 기본편
기본편 강의 다음에 어떤 강의를 수강해야할지 고민입니다
안녕하세요 영한님 기본편을 오늘로 마무리하게 된 학생입니다. 스프링과 MySQL을 학습했지만, 아직 부족한 점이 많다고 느껴서 스프링 강의를 듣기 시작했습니다. 실제로 기본편 강의를 들어보니 제가 놓치고 있던 부분들이 많아서 놀라기도 했습니다. 우선 너무 좋은 강의 감사하다는 말씀드리고 싶네요 ㅎㅎ제가 다음달부터 프로젝트를 들어갈거 같은데, 이번달내로 학습 로드맵의 모든 강의를 다 듣는게 좀 부담스러울 수도 있겠다는 생각이 들었습니다. 그래서 기본편을 마무리하고, JPA를 시작해도 무리가 없을지 여쭤보고 싶습니다. 물론 생각보다 스프링에 대해 알아가야 할 점이 많다고 느껴, 프로젝트를 진행하면서 다른 스프링 강의들도 전부 들을 예정입니다.
- 해결됨스프링 핵심 원리 - 기본편
싱글톤 적용이 안된 이유가 궁금합니다.
@Test void configurationTest(){ ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); OrderServiceImpl orderService = ac.getBean("orderService", OrderServiceImpl.class); MemberRepository memberRepository = ac.getBean("memberRepository", MemberRepository.class); //모두 같은 인스턴스를 참고하고 있다. System.out.println("memberService -> memberRepository = " + memberService.getMemberRepository()); System.out.println("orderService -> memberRepository = " + orderService.getMemberRepository()); System.out.println("memberRepository = " + memberRepository); assertThat(memberService.getMemberRepository()).isSameAs(memberRepository); assertThat(orderService.getMemberRepository()).isSameAs(memberRepository); } @Configuration public class AppConfig { @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl( memberRepository(), discountPolicy() ); } @Bean private static MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean private static DiscountPolicy discountPolicy() { // return new FixDiscountPolicy(); return new RateDiscountPolicy(); } } 실행 결과call AppConfig.memberServicecall AppConfig.memberRepositorycall AppConfig.orderServicecall AppConfig.memberRepositorycall AppConfig.memberRepositorymemberService -> memberRepository = MySpringStudy.core.v4.member.MemoryMemberRepository@30c93896orderService -> memberRepository = MySpringStudy.core.v4.member.MemoryMemberRepository@59a008bamemberRepository = MySpringStudy.core.v4.member.MemoryMemberRepository@338c99c8java.lang.AssertionError: Expecting actual: MySpringStudy.core.v4.member.MemoryMemberRepository@30c93896and: MySpringStudy.core.v4.member.MemoryMemberRepository@338c99c8to refer to the same object 강의에서 진행하신대로 스프링 컨테이너에서 빈을 주입받아서 사용했는데, 싱글톤으로 실행되지 않는 이유가 뭔지 궁금합니다..
- 미해결스프링 핵심 원리 - 기본편
오류가 발생한 이유와 해결된 이유 이게 맞나요??
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]1. @RequiredArgsConstructor 로 인해 생성자가 호출된다. - 변수(LogDemoService logDemoService, MyLogger myLogger)2. MyLogger 는 @Scope("request") 로 인해 요청이 들어오지 않은 상태라 에러가 발생한다.3. ObjectProvider<MyLogger> 를 변수로 변경을 해주어서 오류를 잡아준다. - MyLogger Bean 은 이미 컨테이너에 등록이 되어 있고 Provider 를 통해 새로운 빈을 만들어준다. 오류가 위와 같은 순서로 발생한게 맞나요??
- 미해결스프링 핵심 원리 - 기본편
ObjectProvider와 Provider에 주입되는 객체
빈 스코프 수강중에 싱글톤 스코프와 프로토타입 스코프를 동시에 사용시 발생하는 문제점으로의존성 주입시 할당된 프로토타입 빈이 계속 유지가 된다는 것이었습니다.이러한 문제점을 해결하기 위해 ApplicationContext를 필드주입을 통해 주입받거나 (가장 간단한 방법), ObjectProvider 또는 자바 표준인 Provider를 사용하는 것입니다. 질문 1.여기서 ObjectProvider<T> objectProvider; 와Provider<T> provider라는 코드에 어떠한 의존성이 주입되는 것인지 궁금합니다.실질적으로 스프링 컨테이너에서 해당하는 빈을 가져오는 부분은 getObject(), get()에서 일어나기 때문에 objectProvider와 provider에는 어떤 의존성이 주입되는지 의문이 들어 질문남깁니다.
- 미해결스프링 핵심 원리 - 기본편
NPE가 발생하는 이유를 모르겠습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]위 사진에 보면 NPE가 발생하는데, 원인을 잘 모르겠습니다.policies에 값이 할당이 안되서 그런거같은데,,, 코드는 강의 자료와 똑같습니다.아래 소스 코드 첨부합니다.package hello.core.autowired; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); DiscountService discountService = ac.getBean(DiscountService.class); Member member = new Member(1L, "userA", Grade.VIP); int discountPrice = discountService.discount(member, 10000, "fixDiscountPolicy"); assertThat(discountService).isInstanceOf(DiscountService.class); assertThat(discountPrice).isEqualTo(1000); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); System.out.println("discountCode = " + discountCode); System.out.println("discountPolicy = " + discountPolicy); return discountPolicy.discount(member, price); } } }
- 미해결스프링 핵심 원리 - 기본편
MyLogger 의존성 주입 질문드립니다.
컨트롤러와 서비스에 MyLogger가 주입받는 것인지 질문드립니다. 컨트롤러는 LogDemoService와 ObjectProvider를 주입받습니다.public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLogger> myLoggerProvider; // ... }서비스는 ObjectProvider를 주입받습니다.public class LogDemoService { private final ObjectProvider<MyLogger> myLoggerProvider; // ... } 결국 컨트롤러와 서비스에는 MyLogger가 주입받는 것이 아닌 것인지요? MyLogger는 DI가 아니라 DL의 역할만 해도 충분한 것일까요? 그렇다면 DI와 DL의 차이는 클라이언트에서 getObject()를 한번더 해서 찾아야 한다는 번거로움 말고는 없을까요? getObject() 이후 생성된 MyLogger는 @Autowired를 받는 것이 없는 것으로 보아 의존성 주입 없이 빈만 생성된 것으로 이해하면 될까요? 질문 읽어주셔서 감사합니다.
- 미해결스프링 핵심 원리 - 기본편
MyLogger 싱글톤 추가 질문
이전 질문에 대한 궁금증이 생겨 추가 질문드립니다.https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55392&tab=community&category=questionDetail&q=541279 LogDemoController 단에서의 myLogger와 2. LogDemoService 단에서의 myLoger는 같은 객체인가요? 라는 질문에서스프링 컨테이너 생성 시점에 myLogger는 생성되기 전이라 의존성 주입이 안 되는 것 아닌가요? 이 때 생성되지 않은 myLogger 객체를 비교하는 테스트는 어떻게 해야 하는지 질문드립니다. 그 다음 강의에서 Provider의 getObject() 메서드를 이용하는 방법을 학습했습니다.컨트롤러에서 getObject() 메서드로 읽어온 후 println으로 toString을 찍어봤습니다.@Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLogger> myLoggerProvider; @RequestMapping("log-demo") @ResponseBody // String 반환값인 문자열을 그대로 보낼 수 있음 public String logDemo(HttpServletRequest request){ // HttpServletRequest는 고객 요청 정보를 얻을 수 있음 String requestURL = request.getRequestURL().toString(); MyLogger myLogger = myLoggerProvider.getObject(); System.out.println("Controller.myLogger.toString() = " + myLogger.toString()); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK!"; } }서비스에서 getObject() 메서드로 읽어온 후 println으로 toString을 찍어봤습니다.@Service @RequiredArgsConstructor public class LogDemoService { private final ObjectProvider<MyLogger> myLoggerProvider; public void logic(String id){ MyLogger myLogger = myLoggerProvider.getObject(); System.out.println("Service.myLogger.toString() = " + myLogger.toString()); myLogger.log("service id = " + id); } }생성된 myLogger나 컨트롤러, 서비스 모두 같은 객체라는 것을 확인했습니다.[64d203f8-a2d5-4923-ad77-fcad3bd19d21] request scope bean create : hello.core.common.MyLogger@6cc43735 Controller.myLogger.toString() = hello.core.common.MyLogger@6cc43735 [64d203f8-a2d5-4923-ad77-fcad3bd19d21][http://localhost:8080/log-demo] controller test Service.myLogger.toString() = hello.core.common.MyLogger@6cc43735 [64d203f8-a2d5-4923-ad77-fcad3bd19d21][http://localhost:8080/log-demo] service id = testId [64d203f8-a2d5-4923-ad77-fcad3bd19d21] request scope bean close : hello.core.common.MyLogger@6cc43735 그렇다면 컨트롤러와 서비스가 싱글톤 스코프라서 같은 객체를 불러오는 것이 아니라(myLogger를 주입한 것이 아니라서), ObjectProvider가 스프링 컨테이너에 등록된 myLogger 빈을 lookup하기만 해서 찾아온 것으로 이해하면 될까요??질문 읽어주셔서 감사합니다.
- 미해결스프링 핵심 원리 - 기본편
TestBean 클래스에서 required = false 호출 가능하게 하는 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요.강의를 듣다가 TestBean 클래스의@Autowired(required = false) 도 호출이 되게 하고 싶어서 테스트하고 있습니다.그래서 위 사진 39 ~ 45 라인과 같이 생성자를 만들어 주었습니다.Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.example.core.member.Member' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}그런데 위와 같은 에러가 발생하는데 어떻게 해야 required = false 도 호출 가능하게 할 수 있을까요??
- 해결됨스프링 핵심 원리 - 기본편
인텔리제이 단축키
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]혹시 인텔리제이 한 줄 선택 하는 단축키가 뭔가요??..검색해서 나온거 해봐도 안되요ㅠ