/** * @return null 로그인 실패 */ public Member login(String loginId, String password) { Optional<Member> byLoginId = memberRepository.findByLoginId(loginId); Member member = byLoginId.get(); if (member.getPassword().equals(password)) { return member; } else { return null; } // return memberRepository.findByLoginId(loginId) // .filter(m -> m.getPassword().equals(password)) // .orElse(null); } 복사하실 수 있게 코드 원본과 사진 첨부드립니다. 밑에 주석처리한 부분이 이제 강의에서 stream으로 간소화한 로직인데요. stream을 사용하지 않은 로직으로 로그인에 실패했을 때, NoSuchElementException 에러가 발생하는 것을 확인했습니다. 아마 optional 객체에 get() 메서드를 찍을 때, 발생하는 것 같습니다. 여기서 질문이 있습니다. stream의 filter를 이용하면, 왜 에러가 발생하지 않는 것인지 궁금합니다. stream을 통해 코드를 간소화시켰지만 두 코드의 동작 원리는 같다고 생각합니다. 단지 stream만 썼다고 위 코드는 에러가 발생하고, 아래 코드는 에러가 발생하지 않는 것이 이해가 잘 안되는 것 같습니다. (stream에 대한 이해가 부족한 탓일까요) 만약 stream 처리를 하지 않은 로직을 사용한다고 했을 때, NoSuchElementException 에러가 발생되지 않게 하려면 어떻게 로직을 재구성 해야할까요? stream 사용 x
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] public FrontControllerServletV1() 생성자가 실행되면, 생성자 내부에서 url 주소와 컨트롤러가 매핑되도록 한다는 것은 알겠습니다. 근데 해당 (기본) 생성자를 실행시키려면, 어디선가 new FrontControllerServletV1(); 라는 코드를 적어줘야 하지 않나요? 아래 코드를 실행한 결과, 서버클 껐다 킬 때마다 생성자가 1회 실행되던데, 왜 자동으로 1회 실행되는거죠? 그 어디에도 new FrontControllerServletV1(); 라는 코드는 없는데 말입니다.
안녕하십니까? 결측값 채우기 중 최빈값 관련해서,, m = X_train['workclass'].mode()[0] 여기서 mode()과 mode()[0]의 차이는 무엇인지요? 즉 [0]의 쓰임이 무엇인지? 다른 중앙값, 평균 등은 이런게 없는데 왜 최빈값만 이런게 뒤에 붙는지요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니오 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] Form 전송 객체 분리 - 개발 강의의 1:15초 에서 단축키를 사용해서 해당 코드 라인의 첫줄로 커서를 이동하는 명령어를 알 수 있을까요? 감사합니다.
[질문 내용] JPA 엔티티에 @NotNull 같은 Bean Validation을 사용하면 적용은 되지만 트랜잭션 에러가 발생하면서 BindingResult에 오류가 자동으로 담기지가 않아 타임리프 렌더링에서 오류 문구가 뜨는게 아니라 바로 오류 페이지로 넘어가는거 같은데 해결할 방법이 있을까요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] <스프링 3.x.x 버전을 사용하고있습니다.> 강의를 잘 따라가고 있었는데 properties 부분에서 막힙니다. 왜 로그가 안뜨는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] C:\JAVA\SPRING\hello-spring gradlew.bat C:\JAVA\SPRING\hello-spring gradlew build 도 해보고 C:\JAVA\SPRING\hello-spring gardlew clean build 해봤습니다. 그리고 환경변수도 구글보고 설정도 잘해주었는데 계속 에러가 뜨네요 왜 그럴까요 오늘 하루종일 구글링해서 찾아보았는데 해결이 안됩니다.
[질문 내용] 여기에 질문 내용을 남겨주세요. 8080포트 말고 8090으로 쓰고있는데 실행하면 8090이 index가 나타나야하고 hello 는 a 태그가 나타나야하는데 localhost:8090 에서 바로 hello 파일이 나와버립니다. 정작 localhost:8090/hello로 들어가면 화이트라벨이나옵니다. 어떻게해결해야할까요>?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "form/addForm"; } @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes) { log.info("item.open={}", item.getOpen()); Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:/form/items/{itemId}"; } 이 코드에서 빈 객체를 만든뒤에 html 폼 에서 버튼을 누르면 post가 작동해서 PostMapping으로 다시 객체 안에 밸류가 세팅되어서 들어오나요? 동작하는 과정이 이해가 잘 안되는거같습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. DB를 MySql로 연동했습니다. 서버 실행 시킨후 localhost 접속해서 정상적으로 DB에 삽입되는것 까지 확인했습니다. 하지만 통합테스트 올려주신 그대로 복붙해 실행해 봤더니 아래와 같은 오류 발생합니다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'hello.hellospring.service.MemberServiceIntegrationTest': Unsatisfied dependency expressed through field 'memberRepository': No qualifying bean of type 'hello.hellospring.repository.MemberRepository' available: expected single matching bean but found 3: jdbcMemberRepository,memoryMemberRepository,MemberRepository at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:787) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:767) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:508) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1419) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:398) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:143) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:98) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at java.base/java.util.Optional.orElseGet(Optional.java:364) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'hello.hellospring.repository.MemberRepository' available: expected single matching bean but found 3: jdbcMemberRepository,memoryMemberRepository,MemberRepository at org.springframework.beans.factory.config.DependencyDescriptor.resolveNotUnique(DependencyDescriptor.java:218) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1420) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784) ... 21 more
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의에선 @RestController로 이미 모든 컨트롤러에 @ResponseBody 응답을 하는데 JSON 응답 컨트롤러에선 반환 타입을 ResponseEntity로 하여 둘 간의 충돌이 있지 않을까해서 질문드립니다 !
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의를 보며 코드를 따라하며 실행해보는 도중, Microsoft Edge 에서 home.html 은 실행이안되고 계속 index.html이 실행이 되는 문제가 발생해서 Chrome으로 실행을 해보았더니 Chrome에서는 정상적으로 home.html이 실행이 됩니다. 뭐가 문제인걸까요?
에러 : \service\ MemberServiceTest.java:18 :35 java: constructor MemberService in class hello.hellospring.service.MemberService cannot be applied to given types; required: hello.hellospring.repository.MemberRepository found: no arguments reason: actual and formal argument lists differ in length 안녕하세요 강의를 수강하던 중 에러의 이유를 알 수 없어 이렇게 질문 남기게 되었습니다. 찾아보니까 롬복 문제라는것 같기도 한데?? 안쓴거같은데 잘 모르겠습니다. 감사합니다.
안녕하세요 지난번에 질문드렸는데 정확하게 설명이 안되어서 다시한번 질문합니다ㅜ 다름이 아니라 환경설정할때 강의에서는 자바11 권장으로 되어있는데 자료를 보니 17이상이면된다고 써있었습니다. 지금 제 프로젝트 셋팅과, execution,build,deployment 셋팅, 그리고 라이브러리에대해서 잘 설정되어있는지 궁금해서 질문합니다. 1. 자바11권장이라고 되어있고 cmd창에서 자바버젼을 확인해보니 없다고 나옵니다. 자바 입문->기본편까지 듣고 가비지컬렉션과 예외처리를 공부한 후 스프링 입문 강의를 들으려고 하는데 제가 자바를 처음에 설치를 했는지 잘모르겠습니다. 자바 입문편과 기본편 강의들을때는 인텔리제이 설치후 jdk설정도 맞춰놓고 강의를 잘 들었습니다. 이 상태로 스프링 강의들을때 환경설정을 시키는대로 하면 별 문제가 없이 강의를 들을수 있는걸까요? 제 프로젝트 셋팅과, execution,build,deployment 셋팅이 사진처럼 되어있는데 잘 되어있는건지 궁금합니다! 라이브러리 설명을 해주시는데 제꺼랑 다른 라이브러리들이 제꺼에는 있고 강의에는 없는것들도 반대인 상황도 많아서 라이브러리가 이렇게 설정되어있어도 상관없는건지 잘 모르겠어서 질문합니다. 항상 친절하신 답변 감사합니다. 답변 기다리겠습니다.!
[질문 내용] 제가 h2 db를 껐다 켜고 싶어서, 하단 트레이 쪽에 있는 h2 아이콘을 우클릭>exit을 했더니 아예 아이콘이 사라졌습니다..다시 키려고 h2.bat을 재실행은 했는데 아이콘이 없어서 create a new db를 어떻게 해야하는지 모르겠습니다.도움 부탁드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이렇게 영상에 나온대로 clearStore을 작성했음에도 계속 오류가 뜹니다 clearStore의 문제가 아닌건가요?