월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 핵심 원리 - 기본편
강의를 수강하는 순서에 대해 질문 드립니다.
안녕하세요 현재 백엔드 개발자 취준생으로 스프링 로드맵을 전체 결제 후 로드맵 순서 대로스프링 입문편 -> 스프링 기초편 까지 수강하였습니다.그런데 강의의 마지막 목차인 다음으로에서 JPA를 수강하고 나머지 스프링 부트를 수강하는게 더 좋을 것이다 라는 느낌을 받았는데로드맵 순서대로가 아닌 현재에서 JPA 로드맵을 수강신청후 듣고나서 나머지 남은 스프링 강의들을 수강해야할까요 ??로드맵을 신청하기전에 김영한님의 유튜브 로드맵 영상을 봤을 때는 스프링 부트 로드맵을 끝낸 뒤 -> JPA 로드맵 수강 이 순서라 생각해 먼저 스프링 부트 로드맵을 다 수강신청 해 스프링 부트를 다 끝내고 JPA를 수강할 예정이였는데어떤 순서로 들어야할 지 햇갈려서 질문드립니다.
- 미해결스프링 핵심 원리 - 기본편
NoUniqueBeanDefinitionException가 안발생해요
[질문 내용]같은 타입의 빈을 컨테이너에 2개 이상 등록하면 NoUniqueBeanDefinitionException가 발생해야하는데 테스트가 문제없이 돌아가요. 검색해보니 제가 자식클래스를 직접 빈에 등록해서 생긴것같은데 이걸 해결해도 계속 문제가 발생하지 않네요.. 뭐가 문제일까요
- 미해결스프링 핵심 원리 - 기본편
java 17버전으로 사용하면 안되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 11로 변경하기가 어려워서요 ㅠㅠ17로 사용해도 괜찮을까요?
- 미해결스프링 핵심 원리 - 기본편
RateDiscountPolicyTest 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]int discount = discountPolicy.discount(member, 10000); 여기에서 member부분이 오류가 납니다.java: cannot find symbol symbol: variable member location: class hello.core.discount.RateDiscountPolicyTest이렇게 나오는데 뭐가 문제인가요?
- 미해결스프링 핵심 원리 - 기본편
getInstance()와 DIP
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]싱글톤은 DIP를 위반한다는 설명에서(기존)public MemberService memberService(){ return new MemberServiceImpl(memberserviceRepository());}(싱글톤 패턴 적용 시)public MemberService memberService(){ return MemberServiceImpl.getInstance();}에서 구체 클래스에 의존하기 때문에 DIP를 위반한다고 하셨습니다. 하지만 AppConfig에는 객체 인스턴스를 연결하기 위해 어차피 구체클래스를 사용하는데, DIP를 위반한다고 하는 이유가 뭔지 궁금합니다!
- 미해결스프링 핵심 원리 - 기본편
생성자 주입을 잘 이해하지 못했어요.
강의 수강 중 궁금한 부분이 있어 질문 남깁니다.빈이 두개 일때를 가정한다면필드 주입의 경우 @primary 기준으로 우선순위를 정해 사용하겠지만생성자 주입을 사용하게 될 경우 외부에서 객체를 주입하게 되어 @primary가 의미 없게 되지 않나요??OrderServiceImpl orderService = new OrderServiceIm 또한 생성자 주입을 사용할 시 인스턴스를 생성할 때마다 객체를 주입해야하게 되는데, 그렇다면 주입할 객체를 변경하게 될때 모든 코드를 수정해야하는 단점이 있는거 아닌가요?? 어느 부분을 놓친건지 모르겠네요 ㅠㅠ
- 해결됨스프링 핵심 원리 - 기본편
MemberServiceTest에서 Assertions부분이 궁금합니다.
assertThat과 isEqualTo로 각각 member, findMember 객체를 비교해 주셨는데테스트를 진행하면 객체 안의 id, name, grade가 각각 대조되어 비교된다 라고 이해해도 될까요?
- 미해결스프링 핵심 원리 - 기본편
@autowired 사용 시 @configruation 필요 여부
안녕하세요 강의 듣던 중 궁금함이 생겨 문의드립니다. @Configuration은 CGLIB을 이용하여 스프링컨테이너의 싱글톤을 보장해준다로 이해하였습니다.그런데 "@Autowired은 타입이 같은 bean을 찾아 자동주입해준다"를 듣고보니 Autowired가 있을 경우에도 싱글톤이 보장될 거 같아 테스트를 해보니 실제로 싱글톤을 보장해주고 있었습니다. 그렇다면 @Componentscan과 @autowired를 조합할 경우 configuration은 불필요한 애노테이션인가요?아래 코드에서 Service와 Member에 주입된 Repo 인스턴스가 동일한 인스턴스였습니다.package mytest; public class MyTestClass{ @ComponentScan static class MyAutoConfig{ } @Component static class Repo{ public Repo(){ System.out.println("Created!"); } } @Component static class Service{ private final Repo repo; @Autowired public Service(Repo repo){ this.repo = repo; } public Repo getRepo(){ return this.repo; } } @Component static class Member{ private final Repo repo; @Autowired public Member(Repo repo){ this.repo = repo; } public Repo getRepo(){ return this.repo; } }
- 해결됨스프링 핵심 원리 - 기본편
dip 의존관계 역전 원칙을 보고 질문드립니다.
memberservice가 memberRepository 인터페이를 바라보게 한다는것은 결국 범용성을 좋게해서 다른 객체로 갈아끼우기 쉽게 하기위함인건가요?
- 해결됨스프링 핵심 원리 - 기본편
OrderServiceTest 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.OrderServiceTest 실행 시 NullPointException이 발생합니다.(OrderServiceTest)orderService.createOrder() 부분에서 발생하는데, 더 파고들면, discount() 메서드에서 발생합니다.(OrderServiceImpl)강의와 똑같이 코드를 작성하였는데, 오류가 계속 뜨네요. 제가 생각한 오류의 이유는 test 클래스 작성 시 MemberServiceImpl에서 생성하는 MemoryMemberRepository 객체와 OrderServiceImpl에서 생성하는 MemoryMemberRepository 객체가 일치하지 않기 때문에, 서로 다른 객체에서 memberId를 저장하고 조회하기 때문에 오류가 발생하는 것으로 보입니다.해서 객체 주소를 찍어보는 코드를 넣어보았는데요,(OrderServiceImpl)(MemberServiceImpl)이렇게 해서 test를 실행하면 다음과 같이 나옵니다.위 두 줄 마지막에 MemberServiceImpl에서 생성한 MemberRepository 객체와 OrderServiceImpl에서 생성한 MemberRepository 객체가 상이합니다. 이와 관련하여 코드를 변경해야 한다면, 어떻게 변경하여 적용하는 것이 좋을지 조언 부탁드립니다.혹시 제가 놓친 부분이 있으면 말씀 부탁드립니다. 감사합니다.
- 미해결스프링 핵심 원리 - 기본편
x표시가 떠있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 프로젝트 열었는데 엑스표시가 뜨는데 왜그런지 모르겠습니다 자바 버전도 확인해보았습니다
- 미해결스프링 핵심 원리 - 기본편
@PreDestory 가 없어도 실행되는 이유 및 사용하는 경우
@PostConstruct의 경우 주석처리 하면 init 메서드가 실행되지 않더라구요. 근데 @PreDestory의 경우 주석처리를 해도 close 메서드가 실행되던데 @Bean 애노테이션을 이용하여 NetworkClient를 등록 할 때 destoryMethod가 생략됐고, 추론형이 발동해서? 실행되는 거 맞나요? 그렇다면 반대로 @PostConstruct의 경우에는 추론형이 없을까요? 없다면 이유는 무엇인가요? 이 @Postconstruct와 @PreDestory는 언제 사용하나요? Bean의 생명 주기를 알아야 할 필요가 있을까요?
- 미해결스프링 핵심 원리 - 기본편
인테리 j에서도 오픈콜하이라키 기능이 있나요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]반복적으로 복습을 하고있는상황인데요 특정 메서드 호출하여 사용하는 클래스 위치 알아내는 방법이 있을까요?
- 해결됨스프링 핵심 원리 - 기본편
Assertion에러가 납니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]java.lang.AssertionError: Expecting actual:hello.core.member.MemoryMemberRepository@2796aeaeand:hello.core.member.MemoryMemberRepository@1fa1cab1to refer to the same object 도와주세요~~assertThat(orderService.getMemberRepository()).isSameAs(memberRepository);
- 미해결스프링 핵심 원리 - 기본편
널 포인트 익셉션이 터지는 이유가 뭔가요 ?
강의 21분쯤에 스프링에서 돌리는게 아니라 순수하게 돌리기 때문에 널포인트 익셉션이 터진다고 말씀하시는데 스프링 컨테이너인 ApplicationContext.getBean()을 통해 인스턴스를 가져오는게 아니라 new OrderServiceImpl() 를 했기 때문에 @Autowired가 동작하지 않게 된 것 맞나요 ? 24분쯤 설명을 보시면 스프링 테스트코드를 이용할 수 있다고 하시면서 CoreApplicationTest를 보여주시는데 CoreApplicationTest 클래스를 제외한 test코드를 작성하는 클래스 에서는 스프링 컨테이너가 작동하지 않는 것인가요? 일반 메서드 주입이랑 생성자 주입이랑 차이점이 무엇인가요? 메서드명을 init으로 하느냐, 클래스 이름으로 하느냐의 차이인가요? 메서드 주입의 이점이 있나요?
- 해결됨스프링 핵심 원리 - 기본편
테스트코드에 대한 이해
안녕하세요 영한님! 강의 너무 잘 수강하고있습니다.다름이 아니라 제가 테스트코드를 작성하는 부분들에서 JUnit에 대한 학습이 전무한 상황에서 테스트 코드를 작성하는 부분의 강의를 들어도 괜찮은걸까요?ㅠㅠ그냥 영한님의 코딩을 베껴서 치는 코딩원숭이가 된 기분입니다 ㅠㅠㅠ.....모든것을 다 한번에 학습을 할 수는 없다는것을 알지만... 이런 상태로 로드맵을 계속 쫓아가도 될지 여쭤봅니다..!
- 미해결스프링 핵심 원리 - 기본편
질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. BeanA beanA= ac.getBean("beanA", BeanA.class)에서 "beanA"는 메서드 이름 자리 아닌가요??클래스만 지정하고 beanA라는 메서드를 지정한적이없는데 이게 어떻게된것인지요?
- 해결됨스프링 핵심 원리 - 기본편
안녕하세요 싱글톤 컨테이너에 대해 질문이 있습니다.
스프링 컨테이너가 객체 인스턴스를 싱글톤으로 관리한다. 라고 이해를 했습니다. 그렇다면 사용자가 10명이 존재하고 이 사용자 10명 전부가 memberService 이름을 가지는 빈 객체를 호출 한다고 했을때 첫번째 사용자가 호출해서 memberService 객체를 사용하고 있을때 나머지 사용자 9명은 첫번째 사용자의 memberService 객체 사용이 끝날때까지 대기하고 있어야 하나요?만약 1번 처럼 대기하고 있는게 맞다면 사용자가 100만명과 같이 대규모 사용자일때도 스프링 컨테이너가 객체 인스턴스를 싱글톤으로 잘 관리를 할 수가 있나요? 성능적인 부분에서 부하가 오지는 않을까요?
- 해결됨스프링 핵심 원리 - 기본편
@BeforeEach 에러
MemberServiceTest를 실행하면 memberService에서 NullPointException이 뜹니다. 찍어보니까 beforeEach()메서드보다 Join() 메서드가 먼저 실행되는거 같은데 뭐가 문제일까요?.. 추가적으로 OrderServiceTest는 beforeEach가 먼저 들어와서 오류 없이 실행됩니다..!
- 해결됨스프링 핵심 원리 - 기본편
pdf 자료 3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 4페이지에 질문이 있습니다.
지금 코드는 기능을 확장해서 변경하면, 클라이언트 코드에 영향을 준다! 따라서 OCP를 위반한다.클라이언트 코드에서 클라이언트가 클라이언트 - 서버 할때 그 클라이언트 인가요? 클라이언트 코드라는게 무슨 의미인건가요? 감사합니다.