월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 핵심 원리 - 기본편
policyMap.get(discountCode) 부분이 이해가 되질 않습니다.
public static int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); return discountPolicy.discount(member, price); } 여기서 policyMap 이 Map<String, DiscountPolicy> 라는 것 때문에 키값으로 문자열 "fixDiscountPolicy" 가 들어갔을때, value 값으로 fixDiscountPolicy 가 나오는 이유를 모르겠습니다.
- 미해결스프링 핵심 원리 - 기본편
복습 방법 및 로드맵 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 실무 경험은 1년 6개월 정도 있고,Java와 Spring 프레임워크 사용 경험이 있는 주니어 개발자입니다. 그러나 경력 동안 흔들리는 기초 개념도 많고, 제가 잘하고 있는 것인지 의문이 많이 들어서 얼마 전에 퇴사를 하고, 자바 기본 이론책과 인프런 강의를 수강하고 있는데요. 지금은 인프런 강의에 집중해서 공부를 하고 있습니다. 입문 강의 때부터 강의를 쭉 듣고, 인프런 강의노트에 필요한 이야기들은 받아 적고, 코드를 따라치면서 학습을 해나가고 있습니다. 이해가 안가는 부분들은 강의를 멈추고 검색을 해서 추가적으로 알아보는 부분도 있습니다. 곧 스프링 핵심 원리도 완강을 앞두고 있는데요.뭔가 온전히 제 것이 된 느낌들은 아니어서.. 이걸 조금 더 효율적으로 학습해서 어떻게 제 것으로 더 흡수하면 좋을지가 고민이 됩니다. 1) 완강 이후에 전체적으로 한 번 쭉 복습을 하는 것이 좋을지 궁금합니다.2) 추천하는 복습 방법이 있을까요? 복습 시에도 그대로 코드를 따라치면서 한 번 더 공부를 하는 게 좋을지. 아니면 기존에 학습했던 코드와 강의 자료를 같이 보면서 학습하는 게 좋을까요?3) 현재 개인 프로젝트를 준비 중에 있는데, 로드맵 순서 및 유튜브에 업로드된 로드맵 영상처럼 쭉 수강하면서 프로젝트 구현에 힘을 쓰면 좋을지,아니면 스프링 핵심 원리 강의 수강 이후에 MVC 1편-JPA 활용1 보면서 개인 프로젝트 진행해도 괜찮을지 궁금합니다. 강의 재미있게 잘 보고 있습니다.감사합니다.
- 미해결스프링 핵심 원리 - 기본편
강의 재생 오류 (크롬, 엣지)
안녕하세요.한 30분 전까지만 해도 강의 재생이 잘되었었는데어느 순간부터 흰 바탕화면에 아무런 반응이 없네요쿠키 삭제를 해봐도, 브라우저를 크롬에서 엣지로 바꿔봐도 똑같습니다.. +)개발자 도구로 확인해보니 api 서버 쪽 오류인 것 같기도 한데 확인 부탁드립니다 ㅠㅠ
- 미해결스프링 핵심 원리 - 기본편
java: package javax.persistence does not exist 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]springBoot 2.7.1, java 11 버전입니다자바를 동작시킬 때 java: package javax.persistence does not exist 어떻게 해결 하는지 아시나요 ㅠㅠspring-boot-starter-web-2.7.11spring-boot-starter : 2.7.11 package org.springframework.web.bind.annotation does not existpackage org.springframework.web.bind.annotation does not existpackage javax.servlet.http does not existcannot find symbol class HttpServletRequestcannot find symbol class RequestMappingcannot find symbol class ResponseBody 아 맨 밑에꺼 하니까 됏네요 ㅎㅎhttps://www.inflearn.com/questions/291210/%ED%86%B5%ED%95%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EA%B3%BC%EC%A0%95%EC%97%90%EC%84%9C-quot-package-javax-persistence-does-not-exist-quot-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4 https://hyesun03.github.io/2019/08/27/intellij-cannot-resolve-symbol-error/
- 미해결스프링 핵심 원리 - 기본편
그림을 잘 이해한건지 모르겠습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]그림이 조금 이해가 인터넷도 찾아보고 했는데도 이게 맞는건가 싶어서 질문을 남겨봅니다.제가 이해한 바로는 스프링 DI 컨테이너 내에서 HTTP request 요청이 발생할 때마다 독립된 request 스코프를 먼저 생성하고, 해당 스코프 내에서 컴포넌트들이 동작하는 것을 나타낸다.각각의 요청은 자신만의 스코프를 가지며, 해당 스코프 내에서 필요한 데이터와 리소스를 공유하며 작업을 수행한다.이를 통해 각 요청이 독립적으로 처리되고, 다른 요청과의 상호작용을 방지할 수 있다.이 정도로 이해했는데 혹시 잘못된 부분이 있는지 질문드립니다.
- 미해결스프링 핵심 원리 - 기본편
cannot resolve symbol springframework 오류입니다
이런 식으로 에러가 떴는데, 무엇을 잘못 건드렸는지 모르겠어요ㅠㅠgradle을 다시 refresh 해봤는데 똑같습니다+) File > Invalidate Caches / Restart 로 해결했습니다.그 뒤로이렇게 out폴더까지 빨갛게 뜨는데 괜찮나요? 실행은 아직까지는 괜찮은데선생님은 .gradle폴더와 build폴더만 빨갛게 표시되서요
- 미해결스프링 핵심 원리 - 기본편
현재까지 내용에서 개발 순서가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.복습중에 문득 궁금한 점이 생겨서 질문드립니다.강의에서는 각각의 객체를 만든 후 OCP나 DIP등의 문제를 발견하였고 AppConfig를 만들어 이를 해결했습니다.실무에서는 객체를 만든 후 AppConfig를 만드는지 혹은 전체적인 설계도를 작성한 후 객체 간 관계를 파악하여 먼저 AppConfig를 만든 뒤 객체를 채우는지 궁금합니다.
- 해결됨스프링 핵심 원리 - 기본편
생성자 주입 시 사용하는 @Autowired 에도 required=false 사용가능한가요?
안녕하세요 복습을 하는 중에 궁금한점이 있어서 글을 남깁니다.pdf 정리글 중항상 생성자 주입을 선택, 그리고 가끔 옵션 필요시 수정자 주입 선택.라는 부분이 존재하는데그럼 생성자 주입 때는 required=false를 사용하면 안되는 이유가 있는지 궁금합니다.
- 미해결스프링 핵심 원리 - 기본편
Request에 따라 다른 bean을 선택하는 법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]OCP관점에서 컨트롤러 설계에 관해 궁금한 것이 있습니다.@Controller public class PaymentController { @PostMapping("/payment") public void pay(@RequestBody PaymentRequest req) { CardPaymentService cardPaymentService = cardPaymentFactory.getType(req.getType()); cardPaymentService.pay(req); } } @Service public class APaymentService implements CardPaymentService {...} @Service public class BPaymentService implements CardPaymentService {...} public class CardPaymentFactory { ... public CardPaymentService getType(CardType type) { CardPaymentService cardPaymentService; switch (type) { case A: cardPaymentService = aCardPaymentService; break; case B: cardPaymentService = bCardPaymentService; break; default: throw new IllegalArgumentException(); } return cardPaymentService; } } 위와 같은 구조가 있다고 할 때저런식으로 switch-case 문으로 설계하면 OCP 원칙에 위배된다고 생각하여 아래 내용이 궁금합니다.CardPaymentService cardPaymentService = cardPaymentFactory.getType(req.getType());(위 코드를 없애는 방법이 궁금합니다)Factory class 없이 Controller에서 req에 따라 자동으로 맞는 service가 주입하는 방법은 없는지? 설계를 다르게 해야하는지?
- 미해결스프링 핵심 원리 - 기본편
메소드 오버라이딩 오류
OrderServiceImplTest라는 파일로 테스트 하려던 중 createOrder와 관련된 오버라이드 오류가 발생했습니다. OrderServcieImpl 클래스에서는 The method createOrder(Long, String, int) of type OrderServiceImpl must override or implement a supertype method 라는 오류가 발생했고MemberRepository 클래스에서는The field OrderServiceImpl.discountPolicy is not visible 이 발생했습니다.DiscountPolicy 클래스에서는(1) Duplicate method createOrder(OrderServiceImpl, Long, String, int) in type DiscountPolicy(2) The field OrderServiceImpl.memberRepository is not visible(3) Duplicate method createOrder(OrderServiceImpl, Long, String, int) in type DiscountPolicy 이 차례로 발생하였습니다.오버라이드 관련 오류인건 알겠는데, 어디서 어떤 부분을 고쳐야할지 막막하네요 2시간 30분 가량 구글링도 해보고 직접 코드도 수정해봤는데 오히려 먼 산으로 가는 느낌입니다. 도와주세요 ㅜ_ㅜ
- 미해결스프링 핵심 원리 - 기본편
@Autowired나 @Qualifier, @Primary를 사용해야하는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]말그대로 @Autowired나 @Qualifier, @Primary를 사용해야하는 이유가 궁금합니다. 조회 대상 빈이 2개 이상일 때 찾기 위해서라고 하는데 우선순위를 정해서 한다는 것은 어차피 우선순위에서 벗어난 빈은 사용하지 않는다는 것이고 사용하지 않는 빈은 @Component를 삭제하여 빈으로 등록하지 않는 것이 더 효율적이지 않을까 싶어서요! 아니면 빈에 올려두고 다른 곳에서도 우선순위에서 밀려난 빈을 사용하려고 그렇게 사용하는건지 궁금합니다!
- 미해결스프링 핵심 원리 - 기본편
실무에서 Singleton 패턴을 이용해서 Stateful한 객체를 만드는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]실무에서는 Singleton 패턴을 이용할 때 꼭 무상태를 유지해야한다 라고 말씀해주셨었는데 반대로 실무에서 Singleton 패턴을 이용해서 상태를 유지하는 객체를 만드는 경우도 있을까요?
- 미해결스프링 핵심 원리 - 기본편
intellij gradle 호환오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]start.spring.io 에서 받은 파일을 인텔리제이에서 열었을때 다음과 같은 오류가 뜨면서 빌드가 되지않습니다.. gradle 버전도 바꿔봤지만 똑같은 오류가 뜨는 것 같습니다.
- 미해결스프링 핵심 원리 - 기본편
안녕하세요! 인텔리제이 파일구조 관련하여 질문하고 싶습니다
강의 도중에 compact middle package 옵션을 사용한다고 하셔서 사용하고 있는데 파일 생성 단축키를 누르면 패키지, 클래스 따로 구분해서 만들 수 있는 창이 안나오고 파일, 디렉토리 단위로 뜨네요 ㅠㅠ 이 방법 어떻게 해결해야 할까요..?
- 해결됨스프링 핵심 원리 - 기본편
@Bean 질문드립니다!
@Configuration 없이, @Bean만 붙어있을 경우에 스프링 빈으로는 등록이 되지만, 스프링 컨테이너에는 들어가지 않아서 스프링 컨테이너에 의해 관리되지 않는 것이 맞나요? @Bean만 붙일 경우, 일단은 스프링 컨테이너에는 들어가게 되지만, @Configuration까지 붙은 경우 CGLIB 형태로 들어가게 되는 것인가요? @Configuration이 붙지 않으면, 빈으로 등록된 객체들이 스프링 컨테이너에 의해 관리되지 않는다라고 설명해주셔서,빈으로는 등록되었지만 스프링 컨테이너에는 주입이 안된 것인지,아니면 @Bean을 통해 빈으로 등록됨과 동시에 스프링 컨테이너에는 들어가지만, 그저 관리만 안되는 것인지 궁금합니다!
- 미해결스프링 핵심 원리 - 기본편
빈 조회 시 CoreApplication 사용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요. @SpringbootApplication 에 컴포넌트 스캔이 들어가있으니 AutoAppConfigTest에서 클래스 정보를 읽어올 때 CoreApplication을 가져오면 오류가 뜨는 이유가 무엇인가요??
- 미해결스프링 핵심 원리 - 기본편
왜 App.config 파일의 객체 생성 메서드를 static 으로 주면 안되나요?
안녕하세요 ! 스프링 프로젝트를 하며 원리가 궁금해서 수강하게 되었습니다. 강의 너무 잘 듣고 있습니다: )다름 아니라, 싱글톤 컨테이너 파트의 @Configuration과 싱글톤 강의에서 스프링의 싱글톤 컨테이너를 테스트 하는 부분을 듣고 있습니다. 그리고 제 코드에서 실수를 발견했습니다. 테스트 결과가 강의처럼 여러 번 객체를 생성해도 하나의 객체만 생성(싱글톤 적용)될 수 있어야 하는데 제 코드에서는 작동되지 않았습니다.이전 코드를 찾아본 결과, App.confing 파일의 memberRepository()의 접근제어자를 static으로 주었기에 싱글톤이 적용되지 않고 계속 새로운 객체가 생성되어 테스트에 실패했습니다. AppConfig.java 일부입니다.//올바른 메서드 @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } //이전 메서드 @Bean public static MemberRepository memberRepository() { return new MemoryMemberRepository(); }그런데 그 이유가 너무 궁금해져서 이렇게 질문 드립니다! static method에서 객체를 생성하면 왜 스프링 컨테이너가 이를 싱글톤으로 처리하지 못하는 걸까요?답변 기다리겠습니다 감사합니다.
- 미해결스프링 핵심 원리 - 기본편
애노테이션 커스텀 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Qualifier 를 사용할때, 직접적으로 문자 값을 넣어 매칭 오류가 발생하는 것을 줄이기 위해 새로운 애노테이션을 작성하여 컴파일 오류를 나타내도록 한 것은 알겠습니다!! 그렇다면,, controller 에서 주로 동작하는 @RequestParam, @RequestHeaer 처럼 특정 문자를 입력하여 객체를 받아오는 애노테이션들도 이와 같은 커스텀이 가능한지 궁금합니다!
- 해결됨스프링 핵심 원리 - 기본편
@SpringBootApplication에 대한 질문입니다.
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 현재 강의 진도에서 스프링부트를 사용하지 않고 순수하게 스프링 컨테이너를 생성하여 테스트하는 것으로 이해하고 있습니다. 궁금한 점이 2가지 있는데,현재 ApplicationContext를 이용하여 스프링컨테이너를 생성하고 있는데 스프링부트를 이용한다면 이렇게 스프링 컨테이너를 생성하는 코드를 작성할 필요가 없어지는 건가요? @SpringBootApplication가 알아서 스프링 컨테이너를 생성하고 스프링 빈을 등록시키는 것인지 궁금합니다.@SpringBootApplication 설정 안에 @ComponentScan이 들어있다고 배웠는데, 만약에 스프링 부트를 이용하는 동시에 설정 클래스에 @ComponentScan을 따로 작성한다면 컴포넌트 스캔은 한 번만 일어나는 것인지, 아니면 두 번의 컴포넌트 스캔이 이루어지고 중복되는 스프링 빈은 등록을 무시하는 절차가 진행되는 것인지 궁금합니다.긴 글 읽어주셔서 감사합니다!
- 미해결스프링 핵심 원리 - 기본편
MemberServiceImpl 인터페이스
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]테스트를 할때 MemberService memberService = new MemberServiceImpl() 이렇게 하셨는데 왜 MemoryMemberRepository (회원저장소) 대신에 Impl이 쓰였는지 궁금합니다. 전에 강의 자료에서 나온 회원 객체 다이어그램 그림처럼클라이언트 -> 회원서비스 -> 메모리 회원저장소 이러한 순서대로 가기 때문인가요?