묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코드 질문
public interface MemberRepository { void save(Member member); Member findById(Long memberId); }@Override public Member findById(Long memberId) { return store.get(memberId); }정말 단순한 질문인데, 여기서 memberId는 임의로 정한 매개변수인건가요? 다른 이름으로 바꿔도 상관없는건가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JavaScript 라이브러리 인식 불가
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.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, DB 접근 기술
static 선언 이유
static을 붙여서 생성하면 클래스 변수기 때문에 인스턴스를 생성하지 않고 바로 사용할 수 있을 때 붙인다고 알고 있는데 sequence와 store에 static을 붙인 이유가 무엇일까요?
-
미해결스프링 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 1편 - 백엔드 웹 개발 핵심 기술
Thymeleaf 작성 방식
// 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, 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이러한 오류가 뜨는데 해결방법이 있을까요??