inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

unreachable statement 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 동일하게 작성했는데 다음과 같은 오류가 발생합니다. 구글링 해봤을 때 unreachable 오류가 null 값이 나올 것 같을 때 발생한다고 하는데 강의 내용 그대로 따라 친거라 왜 오류가 발생하는지 모르겠습니다. 답변기다리겠습니다.

  • java
  • MVC
  • mvc
  • spring-boot
  • spring
아름 댓글 1 좋아요 0 조회수 942

Spring mvc를 써야 하는 이유가 어떻게 되는지요?

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요 강의 잘 보고 있습니다. 다름 아니라 스프링부트를 놔두고 spring mvc를 쓰는 이유가 무엇이라 생각하실까요? 외장 톰캣, 내장 톰캣 차이라고도 하고 비교할 거리가 아니라는 말도 있던데 강사님은 어떻게 생각하시는지 궁금합니다

  • mvc
  • MVC
  • spring
성인 댓글 1 좋아요 0 조회수 1125

서비스와 리포지토리의 차이

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

MemberService의 메소드를 보면 findMembers와 findOne같은 경우 Repository의 메소드를 (이름만 바꿔주는 식으로?) 한번 더 호출해주는 역할만 하고 join만 중복 회원 검증이라는 추가 적인 일을 하고 있는데요 이렇다면 굳이 Service단을 만들어서 코드를 입력해야하는 이유가 무엇인가요? findMembers가 필요하다면 그냥 findAll을 사용하면 되고, findOne이 필요하다면 findById를 사용하면 되지 않나요? 차라리 save 메소드에 중복회원을 검증하는 로직을 추가하는게 더 효율적이지 않나요?

  • java
  • spring
  • mvc
  • MVC
  • spring-boot
댓글 1 좋아요 0 조회수 673

코드 질문

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

public interface MemberRepository { void save(Member member); Member findById(Long memberId); } @Override public Member findById(Long memberId) { return store.get(memberId); } 정말 단순한 질문인데, 여기서 memberId는 임의로 정한 매개변수인건가요? 다른 이름으로 바꿔도 상관없는건가요?

  • spring
  • java
  • mvc
  • MVC
  • spring-boot
ycllyo 댓글 1 좋아요 0 조회수 289

JavaScript 라이브러리 인식 불가

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] https://drive.google.com/file/d/1dYiDxEpDP2eVFCNY2Z6Lm0feoZscE0JS/view?usp=sharing 안녕하세요. 강의를 다 듣고 상품 삭제 기능을 직접 만들어 보고 있습니다. jquery와 bootstrap을 사용하여 modal창을 만들어 보려고 하는 중에 jquery 라이브러리를 불러오는데 실패 했었습니다. jquery 라이브러리 위치는 resources/templates/css경로 아래에 두었습니다. 영한님께서 말씀하신 out폴더를 지우고 서버를 재실행 하여도 같은 문제가 발생하여, resources/static/css경로에 두고 실행하였더니 jquery 라이브러리가 인식되는데요. templates경로 아래에만 jquery라이브러리 파일을 두었던 이유는 강의 내용에서 아래와 같은 내용을 언급하셨기 때문입니다. 강의 내 " resources/templates인식되는 원리 " 질문의 답에서도 ThymeleafProperties.java파일에 DEFAULT_PREFIX 값이 'classpath:/templates/'으로 되어있다고 답변되어 있어 templates경로 아래에 jquery 라이브러리를 두었던 것인데요. 라이브러리 파일을 어떤 이유에서 static폴더에다가 두어야 동작 하는 것인지 질문드립니다.

  • mvc
  • spring
  • MVC
asdasfafsf 댓글 1 좋아요 0 조회수 711

static 선언 이유

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

static을 붙여서 생성하면 클래스 변수기 때문에 인스턴스를 생성하지 않고 바로 사용할 수 있을 때 붙인다고 알고 있는데 sequence와 store에 static을 붙인 이유가 무엇일까요?

  • MVC
  • mvc
  • spring-boot
  • spring
  • java
댓글 1 좋아요 0 조회수 861

코드 생략 관련해서 질문이 있습니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

//검증 로직 if (item.getPrice() == null) {...} if (item.getQuantity() == null) {...} //특정 필드가 아닌 복합 룰 검증 if (item.getPrice() != null && item.getQuantity() != null) { if(resultPrice < 10000) { errors.put(); } 검증 로직 파트에서 item.getPrice()==null, item.getQuantity()==null을 미리 검증해서 price, quantity가 null인 경우는 걸러지니까, 바깥 if문을 제거해도 괜찮을까요? 추가로 한 가지 더 여쭤보고 싶은 것이 있는데, 검증 요구사항에서 '수량은 최대 9,999'라고 한다면 최소 수량에 대해서는 굳이 신경 쓰지 않아도 되는 것인가요?

  • mvc
  • MVC
  • spring
도토리 댓글 1 좋아요 1 조회수 347

Thymeleaf 작성 방식

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

// 1번 <link th:href="@{/css/bootstrap.min.css}" href="../css/bootstrap.min.css" rel="stylesheet"> // 2번 <link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"> 실무에서 타임리프를 작성할 때 1번처럼 th:href 속성과 href 속성을 같이 남겨두는지 2번처럼 th:href 속성만 남겨두는지 궁금합니다. 뷰 템플릿을 순수 html 파일로 사용하지 않는 이상 코드 중복이 없는 2번 방식을 사용하는 것이 더 좋아보이는데 실무에서 1번 방식을 사용해야만 하는 경우가 있을지 궁금합니다.

  • mvc
  • spring
  • thymeleaf
  • MVC
블티 댓글 1 좋아요 1 조회수 842

강의교재 부탁드립니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

flamevert@naver.com 강의 교재 부탁드립니다.

  • MVC
  • spring
  • mvc
  • java
  • spring-boot
오유라 댓글 1 좋아요 0 조회수 838

실습 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. java.lang.NullPointerException: Cannot invoke "hello.hellospring.service.MemberService.join(hello.hellospring.domain.Member)" because "this.memberService" is null 테스트케이스에서 실행했는데 오류가 뜹니다 this.memberService 가 null이라 오류인건 알았는데 왜 그런건가요? 강의코드 복붙해도 그러네요

  • java
  • spring
  • mvc
  • spring-boot
  • MVC
jwh 댓글 1 좋아요 0 조회수 738

querydsl 의존성문제

해결됨

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @queryprojection 어노테이션이 쿼리 디에스엘에 의존성에 대한 얘기를 해주셨는데요. 레포지토리에서 쓰는 쿼리디에스엘도 같은 의존성 문제가 있는거 아닌가요 ? 극단적인 예로 치명적인 버그로 쿼리디에스엘을 급히 밀어야 되는 문제라던가 다른걸로 대체를 해야 할때 레포지토리에서 사용했던 쿼리펙토리도 모두 바꿔줘야 하는 부분이 아닌가 해서요.

  • jpa
  • JPA
  • java
댓글 1 좋아요 0 조회수 465

create 함수에서 name을 받아오지 못하고 NullPointerException

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 항상 좋은 강의 감사합니다. create를 통해 HTML에 입력된 name을 받아오는 부분에서 값을 받아오지 못하는 java.lang.NullPointerException: null 에러가 자꾸 발생합니다. 이와 관련된 여러 질문들을 봤는데, 제 경우와 다 다른것 같은데, 제 코드에서 어떤 부분이 잘못되었는지 봐주실 수 있으실까요? https://drive.google.com/file/d/1MJPIw0KvS0eKuGBvYj7QYKnqc931mFiz/view?usp=sharing 감사합니다.

  • spring
  • mvc
  • MVC
  • spring-boot
  • java
kim950302 댓글 1 좋아요 0 조회수 327

안녕하세요

미해결

이펙티브 자바 완벽 공략 1부

안녕하세요...소스코드는 어디서 다운로드받을수있나요? 깃허브에 effective-java인가요??... 과제도 따로있다면어떻게 제출하고 진행하는지 방법알수 있을까요?

  • java
조소영 댓글 1 좋아요 2 조회수 701

dto로 만들어 바로 조회

해결됨

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 프로젝션을 보고 있던와중에 궁금증이 생겨서 질문남깁니다. dto로 반환해주고 싶은데 dto가 private final 일 경우 기본 생성자를 만들지 못하는데 이럴땐 final을 풀고 기본생성자를 사용해주는 방법으로 가는게 맞을까요 ? 다른방법이 있으면 추천 부탁드립니다

  • jpa
  • java
  • JPA
댓글 1 좋아요 0 조회수 609

JdbcTemplate 생성자 만드는데 에러나요. JdbcTemplate 타입의 bean을 찾을 수 없다고 하는데 어떻게 해결해야 하나요?

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

JdbcTemplate 생성자 만드는데 에러나요. JdbcTemplate 타입의 bean을 찾을 수 없다고 하는데 어떻게 해결해야 하나요? 강의를 더 보니까 19강에서 설명해주고 계신 build.gradle 때문인거 같은데요. 저는 해당 파일이 비활성화 되어 있는 것 같아요. 위 캡쳐처럼 코드가 알록달록(주황, 보라, 노랑..) 하지 않고, 모두 회색으로 보이는데 그래서 일까요?

  • spring-boot
  • JPA
  • spring
  • java
  • spring-boot
  • mysql
  • jpa
  • aws
슝슝 댓글 1 좋아요 1 조회수 1721

<select>에 value속성을 만들지 않은 이유

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

addForm.html의 일부 코드입니다. <select th:field="*{deliveryCode}"> -> 렌더링한 결과: <select id="deliveryCode" name="deliveryCode"> 렌더링한 결과에 value 속성이 없는데, 타임리프가 <select>에는 value 속성이 필요없다고 판단하여 만들어주지 않은 것인가요?

  • spring
  • mvc
  • MVC
도토리 댓글 1 좋아요 0 조회수 363

<option> value=""인 경우

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

item.html의 일부 코드입니다. <select th:field="${item.deliveryCode}"> <option value="">==배송 방식 선택==</option> <option th:each="deliveryCode : ${deliveryCodes}" th:value="${deliveryCode.code}"></option> </select> select에서 아무 것도 선택하지 않아서 '==배송 방식 선택=='이 선택된 경우, 'deliveryCode='로 서버에 전달됩니다. 그리고 Item 객체의 deliveryCode필드에 ""로 저장됩니다. 이때, 소스코드 보기를 하면, '<option value="">==배송 방식 선택==</option>' 으로 나옵니다. selected="selected" 속성이 없는 것입니다. th:field, th:value의 값이 같을 때, selected="selected"라는 속성을 추가해줍니다. 두 값이 ""로 같은데도 selected 속성이 추가되지 않은 이유가 무엇일까요? th:value가 아닌 그냥 value이기 때문인가 싶어서 value="" -> th:value="${''}"로 작성해보았는데, 여전히 소스코드 보기를 하면 '<option value="">==배송 방식 선택==</option>'으로, selected 속성 없이 출력됩니다.

  • spring
  • mvc
  • MVC
도토리 댓글 1 좋아요 0 조회수 498

코루틴의 대한 질문이 있습니다.

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

강사님, 강의 내용에는 코루틴이 없어 학습중에 궁금한 점이 있어서 문의드립니다. 아래 코드의 실행 순서를 제가 정리 해봤습니다. 제가 코루틴의 suspend, resume을 잘 이해한게 맞나 궁금해서요. 물어볼 곳이 없어서, 죄송스럽게도 강사님께 문의를 하게 되었습니다. 강의 내용과는 관련이 없어 답변을 해주시면 감사하겠지만, 답변이 안달리다도 괜찮습니다. 감사합니다. println("Coroutine Outer") 이 실행된다. A 코루틴에서 delay를 만나, B 코루틴으로 실행권을 넘겨간다. B 코루틴도 delay를 만나, A 코루틴으로 실행권을 넘겨준다. 1초가 지나고 A코루틴의 println("Coroutine A, Si")을 실행한다. 반복문에 의하여 A코루틴의 2번째 delay를 만나, 다시 B 코루틴으로 실행권을 넘겨준다. B 코루틴도 1초가 지난 상태여서, 바로 println("Coroutine B, Si")을 실행한다. 반복문에 의하여 B코루틴의 2번째 delay를 만나, 다시 A 코루틴으로 실행권을 넘겨준다. 그 다음 4~7을 반복문이 끝날 때 까지 반복 후 코루틴이 종료된다. fun main() = runBlocking { // A 코루틴 launch { repeat(5) { i -> delay(1000L) println("Coroutine A") } } // B 코루틴 launch { repeat(5) { i -> delay(1000L) println("Coroutine B") } } println("Coroutine Outer") } fun <T> println(msg: T) { kotlin.io.println("$msg [${Thread.currentThread().name}]") }

  • java
  • 객체지향
  • oop
  • kotlin
화이팅 댓글 1 좋아요 1 조회수 383

만약 어플리케이션컨텍스트에 필터를 설정하지 않으면 어떻게되나요?

미해결

스프링 웹 MVC

안녕하세요. 좋은 강의 만들어주셔서 정말 감사합니다. 덕분에 너무 흥미롭게 스프링 공부를 하고있어요! 제목처럼, 만약 부모,자식의 어플리케이션 컨텍스트에 필터를 설정하지 않으면 같은 빈이 두개 이상의 웹 어플리케이션 컨텍스트에 동시에 등록되는 걸까요? 직접 해보면 좋은데..회사에서 눈치보며 공부중이라 여쭤보아요.^^

  • MVC
  • java
  • mvc
  • spring
조조 댓글 0 좋아요 0 조회수 388

필드를 감추는 것이 중요한 이유?

미해결

코딩으로 학습하는 리팩토링

안녕하세요 강사님 레코드 캡슐화 설명을 들으면서 궁금한 점이 생겨 질문 드립니다. 강의에서, 퍼블릭 필드를 감추는 용도로 퍼블릭 메서드를 사용할 수 있는데, 그 이유로는 퍼블릭 필드(ex, String name) 와 퍼블릭 메서드(ex, String setLastName()) 의 이름이 완전히 동일하다는 보장이 없기 때문입니다. 위 문장을, 퍼블릭 메서드는 퍼블릭 필드를 감추는 용도로 사용할 수 있다고 이해했습니다. 궁금한 점은, 그렇다면 필드를 감추는 것이 중요한 이유는 클라이언트단에서 데이터 클래스의 필드에 무작위적인 접근을 방지하기 위함인가요? 무작위적인 필드의 접근은 데이터를 쉽게 수정할 수 있게 때문이라고 추측했습니다. 감사합니다.

  • intellij-idea
  • refactoring
  • 리팩토링
  • java
  • intellij
sunghoo.lim 댓글 1 좋아요 0 조회수 590

인기 태그

인프런 TOP Writers

주간 인기글