묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의교재 부탁드립니다.
flamevert@naver.com강의 교재 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 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이라 오류인건 알았는데왜 그런건가요? 강의코드 복붙해도 그러네요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
create 함수에서 name을 받아오지 못하고 NullPointerException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 항상 좋은 강의 감사합니다.create를 통해 HTML에 입력된 name을 받아오는 부분에서 값을 받아오지 못하는 java.lang.NullPointerException: null 에러가 자꾸 발생합니다.이와 관련된 여러 질문들을 봤는데, 제 경우와 다 다른것 같은데, 제 코드에서 어떤 부분이 잘못되었는지 봐주실 수 있으실까요?https://drive.google.com/file/d/1MJPIw0KvS0eKuGBvYj7QYKnqc931mFiz/view?usp=sharing감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<select>에 value속성을 만들지 않은 이유
addForm.html의 일부 코드입니다. <select th:field="*{deliveryCode}"> -> 렌더링한 결과: <select id="deliveryCode" name="deliveryCode">렌더링한 결과에 value 속성이 없는데, 타임리프가 <select>에는 value 속성이 필요없다고 판단하여 만들어주지 않은 것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<option> value=""인 경우
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 속성 없이 출력됩니다.
-
미해결스프링 웹 MVC
만약 어플리케이션컨텍스트에 필터를 설정하지 않으면 어떻게되나요?
안녕하세요. 좋은 강의 만들어주셔서 정말 감사합니다.덕분에 너무 흥미롭게 스프링 공부를 하고있어요! 제목처럼, 만약 부모,자식의 어플리케이션 컨텍스트에 필터를 설정하지 않으면 같은 빈이 두개 이상의 웹 어플리케이션 컨텍스트에 동시에 등록되는 걸까요? 직접 해보면 좋은데..회사에서 눈치보며 공부중이라 여쭤보아요.^^
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
등록할 때와 수정할 때 검증 방법을 다르게 두고 싶다면?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의 내용에서 등록시 상품 가격을 1000원 이상으로 해야하는데, 수정시엔 1000원 미만으로도 설정 가능하게 하고 싶을때, 두 검증기 모두 Item을 검증하게 되는데 이런 경우 dataBinder에 두가지 검증 클래스를 넣어도 supports를 통해 구분이 되지 않습니다. 이런 경우엔 어떤 방법을 사용할 수 있을까요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
질문이있어요
int result=memberMapper.register(m);이부분은 xml을보면 단순한 쿼리 인서트문장인데 result에 1과 0은 어디서 지정해준건가요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
mvc패턴 외워야 하나요?
강사님은 이게 어떤 방식으로 되는지 다 아시는데 보는 저는 이해가 잘 되지 않습니다. 처음이라 그런거겠지요. 근데 mvc패턴 다 외워야 하나요??
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
hello.html에서 ${data}에 줄이 그어집니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]hello.htmlHellocontrollerlocalhost:8080/hello! hello.html에서 줄이 그어져있고웹에서 출력하니 null로 값이 들어와있습니다. ! 어디가 문제인지 알수 없네요 ㅠㅠ현재 인텔리제이 교육용 라이센스, 스프링부트 2.7.8, 자바 11사용 중입니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
영한님의 스프링 강의를 듣다보면 REST API 도 익히게 되나요
스프링 핵심 원리 - 기본편 스프링 컨테이너와 스프링 빈 부분 공부중입니다.REST API 는 HTTP 요청을 보낼 때 , 어떤 URI에 어떤 메소드를 사용할지 개발자들 사이에 널리 지켜지는 약속.이라고 얕게 알고 있습니다.영한님 강의를 들으면서 따라 치고 이해하는 과정속에 자연스럽게 이 부분도 녹여져 있는지 궁금합니다. 무엇이던지 별도로 추가적으로 공부하면 좋겠지만영한님의 스프링 강의 과정을 따라가다보면 자연스럽게 익히게 되는지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field="*{open}"에 의해 생성된 value 속성 관련
addForm.html의 일부 코드입니다. <form th:object="${item}"> <input type="text" id="itemName" th:field="*{itemName}"> <input type="checkbox" id="open" th:field="*{open}"> </form> 렌더링 후 첫 번째 input: <input type="text" id="itemName" name="itemName" value=""> 두 번째 input: <input type="checkbox" id="open" name="open" value="true"> <input type="hidden" name="_open" value="on"/>th:field에 의해 <input>에 name, value 속성이 생기는데, value에는 각각 itemName, open의 값이 들어갑니다.th:object="${item}"에서 넘긴 Item 객체는 빈 객체니까, 첫 번째 <input>에 value=""가 들어간 것은 알겠습니다.그런데, 왜 두 번째 <input>에는 value=""가 아닌 어떻게 true라는 값이 들어가는 것인가요?혹시 <input type="checkbox">일 때는 value에 들어가는 것이 달라지는 것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<input type="hidden"> value 속성값 관련
<input type="hidden">에서 value 속성을 작성해주는 이유는 알겠습니다. 그런데, 선생님께서 value 속성값으로 on을 작성하신 것에 대해 질문이 있습니다.제가 value="", value="on", value="off", value="true", value="false", value="hello"로 해보았는데, item.open으로 로그를 찍어봤을 때 전부 false로 출력되었습니다. 그렇다면 <input type="hidden">에서 value의 속성값으로는 아무거나 적어도 되는 것인가요? @PostMapping("/add") public String addItem(@ModelAttribute Item item) { ... }@ModelAttribute에 의해 Item 객체가 생성된 후, 넘어오는 것에 open, _open이 있으면 setOpen(true)을 호출하고, 넘어오는 것에 _open이 있으면 setOpen(false)를 호출하는 것인가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 만들 때 MemberRepository
서블릿 클래스에서 멤버 리파지토리를private MemberRepository memberRepository = MemberRepository.getInstance(); 로 가져오는데여기서 private을 쓰는 이유가 뭔가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프로젝트 생성
[질문 내용]finished with non-zero exit value 1이러한 오류가 뜨는데 해결방법이 있을까요??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MVC 프레임워크 만들기 v3 -> v4 리팩토링 질문입니다.
안녕하세요. Model 추가 - v3 단순하고 실용적인 컨트롤러 - v4v3 -> v4 리팩토링 의문이 생겨 질문드립니다.영한님의 위와 같은 설명은 충분히 이해와 공감이 가는 부분입니다.v3 -> v4 으로 리팩토링 중 v4의 Map<String, Object> model 항목이 ControllerV4 구현체 내 출력인수로 사용되는 것으로 보입니다.오히려 구현 과정에서 번거로운 부분은 제거 하였지만, 출력인수로 인한 혼란이 오지 않을까? 라는 생각이 되어 질문드립니다.v4 process 함수에서 2가지의 결과 값을 받는 형태로 보여집니다.process 함수의 실제 return 값 String(viewName)render에 필요한 Map<String, Object> model 값꼭 v3 -> v4 리팩토링 과정이 아닌 실제 현업에서 이와 비슷한 경우 어떠한 방식을 채택하여, 풀어가는지 궁금하여 질문드립니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
service 오버라이드 할때 protected
HttpServlet 상속받고 service 메소드를 오버라이드할 때 꼭 protected로 하라고 하셨는데 이유를 알 수 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Hibernate 질문
강의 영상에서 보면 test 실행 시 콘솔창에 'Hibernate: insert into member(id, name) values(null, ?)'라는 SQL문이 뜨는데요.실제로 db에 요청되는 쿼리라면insert into member(id, name) values(null, spring)insert into member(id, name) values(null, spring100)이런식으로 떠야할 것 같은데, ? 라고 뜨는 이유가 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
HelloController.java 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]실행 시, 콘솔 창과 같은 에러 때문에 실행이 안 됩니다. JDK 19.0.1 버전을 사용하는데, 버전에 문제가 있는 것일까요? 아니면 다른 해결 방법이 있는 걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assertThat 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]assertThat메서드가 두 값을 비교할 때 사용된다는 건 알겠는데 구글링 해보니 assertThat(actual, isEqualTo(expected)) 이런식으로 actual와 expected이 들어갈 위치라고 나와있고 강의에선 반대 느낌으로 설명하는거 같아서요강의코드로 혹시 어떤 게 actual값이고 expected값인지 이해하면 될까요?