묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@GetMappintg("/login") loginForm()의 파라미터로 @ModelAttribute LoginForm을 넣어주는 이유가 loginForm.html에 null값을 넣어주기 위해서인게 맞나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 로그인 기능 강의를 듣던 중 의문점이 생겨 질문 드립니다.제가 이해하기로는 1.사용자가 GET /login 요청시 "login/loginForm" 뷰 응답 -> loginForm() 메서드 호출 2.사용자가 login/loginFom.html 에서 loginId, password 입력 후 POST /login 요청 -> login() 메서드 호출 이런 순서로 이루어지는 것 같은데 위의 순서 중 1번에서 loginForm()의 파라미터인 @ModleAttribute LoginForm에 들어가는 값은 사용자가 GET /login 호출시 쿼리 파리미터로 넣어준 값이 없으니까 null이 되는 것을 확인했습니다. 이 때 이 ModelAttribute를 받은 이유가 뷰를 렌더링 할 때 null값을 넣어주기 위한 용도로 받았다고 생각하면 되는 것 맞나요??
-
미해결실전! 스프링 데이터 JPA
application.yml에서 format_sql 적용이 안됩니다.
안녕하세요! 강의 수강 중 궁금한 부분이 있어 질문 남깁니다.테스트 코드 실행 시 콘솔 창의 쿼리가 여러 줄로 format된 형태가 아닌 한 줄로 나옵니다.application.yml 에서 hibernate.format_sql: true를 추가했는데도 적용이 안 되는데 이유를 잘 모르겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
터미널에 test.mv.db가 home 없어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]터미널에 test.mv.db가 home 없어요 그래서 찾아보니 document 에있는데 test.mv.db 파일을 home 으로 옮겨야한나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Domain별 패키지 분리에 대한 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요.항상 좋은 강의 감사드립니다.현업에서 업무를 하다보면 package를 도메인별로 분리하고 도메인에 controller, repository, service, entity, dta, dao등 패키지를 구분하고 있습니다.이는 하나의 모든 controller, repository에 담게 되면 유지보수성이 떨어지기 때문인데요.강의에 강사님께서 하나의 패키지에 넣으셔서 질문을 드립니다.MSA구조로 작게 분리한다고 해도 유지보수가 용의하기 위해서는 패키지를 분리하는게 좋다고 생각되는데요.DTA를 controller에 넣는다던지 entity를 모두 하나에 넣고 있어서...현업에서도 이렇게 쓰는게 더 좋은건지,,,아니면 강의에서만 분리하지 않는 것인지 궁금합니다.혹, 강의에서만 분리하지 않는 구조라면sample로 효율적인 패키지 구성을 제공해 주실 수 있나요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
선수지식 관련 질문입니다.
안녕하세요. 혹시 학습하기 전에 JAVA를 어느정도 학습을 해야 무리없이 수업을 따라갈 수 있는지 알고싶습니다. JSP부분도 필요할까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
반환타입을 Member로 한것은
public Member save(Member member)부분인데요, 반환타입을 Member로 준것이 domain의 멤버가 맞나요?그리고 이 Member안의 정보(아이디,이름)을 한번에 가져오기 위해서 반환타입을 Member로 준게 맞을까요?
-
미해결스프링 핵심 원리 - 기본편
() {} 이거 빨리치시던데 어떻게하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 바로치면 ({) 이렇게 나오던데 빨리치는법이있나요?
-
미해결스프링 핵심 원리 - 기본편
람다식 화살표는 어떻게 입력하는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 인터넷 검색해봐도 답이안나오네요 람다식이 뭔지만나오고입력어떻게하는거죠?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberForm 대신에 domain 내 Member가 있는데 이것을 사용하면 안되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]위 질문에 대해 김영한님이 옛날에 답해주신 내용이,create(Member member)처럼 사용이 가능은 하나, 다양한 정보를 필요로 하는 경우가 있어 MemberForm 클래스를 따로 만드는 게 낫다는 말씀이었습니다. 여기서 궁금한 점이,MemberForm 클래스가 controller 패키지에 있어도 되는건가요?, 매핑 시 스프링 컨테이너에서 controller 를 찾는다고 하던데 이 뜻이 @Controller가 붙은 클래스를 찾는다는 의미인거지 Controller 패키지를 조사한다는 의미는 아닌거죠?그래서 MemberForm도 controller 패키지 내부에 있을 수 있는거고.. 제가 이해한게 맞나요? 1번 질문과 유사한 질문입니다만,Mapping 시 @Controller 가 붙은 클래스를 전부 조사하여 해당 주소에 Maaping된 메서드가 있으면 호출하는 방식이면 클래스명은 따로 @Controller 조사할때 상관은 없는거죠?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 후반쯤에 편의기능 메서드들을 알려주시는데
service 메서드 안에서 한 줄이며 끝날 것을ex) response.setHeader("Content-Type", "text/plain;charset=utf-8");편의 기능을 쓰기 위해 함수를 만들어서 service메서드 안에서 했던 것과 같이 일일이 다 설정해주고private void content(HttpServletResponse response) { //Content-Type: text/plain;charset=utf-8 //Content-Length: 2 //response.setHeader("Content-Type", "text/plain;charset=utf-8"); response.setContentType("text/plain"); response.setCharacterEncoding("utf-8"); //response.setContentLength(2); //(생략시 자동 생성) }다시 service메서드 안에서 호출해주기까지 하는데 더 코드를 많이 쓰고 귀찮은 것 같은데 이게 왜 편의 기능인가요??
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
오타
좋은 강의 감사합니다. pdf 6. 스프링과 문제 해결 - 예외 처리, 반복11페이지에 MemberServiceV4Test 클래스에 @Slf4j 가 필요합니다. 중요친 않지만..좋은 강의 제공해주셔서 감사해서 말씀드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이렇게 실패라고 뜨는데 어떤부분이 잘못되어서 그런건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
findName 질문
이름으로 조회해서 findName을 하면 한명만 조회되지 않나요??리스트로 받는 이유가 궁금합니다
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
전환 예외시 네이밍 관례
안녕하세요 늘 좋은 강의 감사합니다! 이번 예외편 너무나 잘 들었습니다. 예전부터 너무 궁금했는데 어떤 식으로 해결하는지 한번에 정리가 되네요. 궁금한 점이 있는데요.체크드 예외 -> 런타임 예외로 변경해서 처리하잖아요.1. 네이밍관례는 어떤 식으로 될까요? 물론 회사마다 다르겠지만, SQLExcpetion -> RuntimeSQLExcepton 처럼 "Runtime" + "체크트예외네이밍" 을 붙이는 식으로 변환하는 걸까요? 영한님이 평소에 말씀하시는 "일반적으로" 가 궁금합니다. 메이저IT 기업의 예처럼요. 2.SQLException을 이어받을 예외를 RunTimeSQLException 클래스로 만들었다고 한다면, 그 안에는 보통 (Throwable cause)를 받는 생성자 하나 정도만 만들어 놓고 다른 추가 작업은 필요한 것이 없을까요? 이것도 위처럼 보통 어떤 식으로 처리하는지 궁금합니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
spring 설치
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]현재 자바, spring 강의를 다른 곳에서 수강을 하다 이해가 가지 않아 따로 김영한 강사님의 강의를 듣게 되었습니다. 현재 컴퓨터에 설치되어 있는 spring은 maven project이고, 버전도 다른데 그냥 계속 진행해야할지, Gradle project와 2.3.1 버전으로 다시 설치하면 각각 다른 버전으로 사용할 수 있는 건지 궁금합니다. 또 인텔리제이에서 사용하는 버전 따로, 이클립스에서 사용하는 버전 따로 할 수 있는지 궁금합니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강사님과 똑같이 진행하는데 이렇게 작성했을때 강사님과 다르게 import가 생성되지 않는데 어떤게 문제인건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cmd gradlew 빌드 오류
오류 문구는 아래와 같습니다. FAILURE: Build failed with an exception.* What went wrong:A problem occurred configuring root project 'hello-spring'.> Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.0.4. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.4 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.4 was found. The consumer was configured to find a runtime of a library compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6.1' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 11) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.4 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.4 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 11) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Get more help at https://help.gradle.org 확인 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 실행 반응없음 윈도우
안녕하세요처음 강의를 들을 때 h2 데이터베이스를 설치하여 진행하였을 때는 잘 진행되었는데,강의를 다시 들으며 h2를 실행시켜보니 갑자기 실행이 되지 않습니다.환경변수는 잘 설정되어있고명령 프롬프트로 질문들 검색해서 나온 모든 해결방법을 실행해보았는데, 반응이 없고h2 console 바로가기를 클릭해도 반응이 없습니다...백신관련은 제거했습니다.14.200 말고 최근버젼으로도 도전해봤습니다.어떻게 해야 해결될까요?ㅠㅠ https://www.inflearn.com/questions/543652/%EC%9C%88%EB%8F%84%EC%9A%B0-h2-console-bat-%EC%8B%A4%ED%96%89-%EC%95%88%EB%90%A8-%ED%95%B4%EA%B2%B0%ED%95%A8*이 방법도 시도해봣으나 안됩니다 C:\tools\h2\bin>/"h2.bat"'/"h2.bat"'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
서버 관련해서 질문이 있는데요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.데이터를 생성후 에 서버를 내렸다가 다시 서버를 켜면 데이터 가 그대로 남아있나요?
-
미해결스프링 시큐리티 OAuth2
subject type을 pairwise 변경 문의
subject_type을 pairwise로 변경 하려고 Spring Authorization Server 공식 문서(현재 1.0.1)와 소스(1.0.1과 강의에 사용된 0.31) 소스를 봐도 subject_type 를 변경하는 API는 찿지 못했는데 Spring Authorization Server 에서는 지원하지 않는 걸까요?https://docs.spring.io/spring-authorization-server/docs/current/reference/html/core-model-components.html#oauth2-token-customizer문서를 참조하여 acesss token 과 id token 의 cliams 정보를 커스터마이징한 소스에서 pairwise 유형으로 설정하고 providerConfigurationEndpoint을 커스텀 하여 openid-configuration discovery metadata 의 정보를 변경하면 될까요?@Bean public OAuth2TokenGenerator<?> tokenGenerator(JWKSource<SecurityContext> jwkSource) { JwtEncoder jwtEncoder = new NimbusJwtEncoder(jwkSource); JwtGenerator jwtGenerator = new JwtGenerator(jwtEncoder); jwtGenerator.setJwtCustomizer(jwtCustomizer()); OAuth2AccessTokenGenerator accessTokenGenerator = new OAuth2AccessTokenGenerator(); OAuth2RefreshTokenGenerator refreshTokenGenerator = new OAuth2RefreshTokenGenerator(); return new DelegatingOAuth2TokenGenerator( jwtGenerator, accessTokenGenerator, refreshTokenGenerator); } @Bean public OAuth2TokenCustomizer<JwtEncodingContext> jwtCustomizer() { return context -> {; JwtClaimsSet.Builder claims = context.getClaims(); OidcUserResponseDto user = (OidcUserResponseDto)context.getPrincipal().getPrincipal(); claims.subject(user.getEmpId()); claims.claim("dept_id", user.getDeptId()); claims.claim("locale", user.getLocale()); }; } ......... authorizationServerConfigurer.tokenGenerator(tokenGenerator); 참고 현재 설정된 openid-configuration의 subject_types_supported 정보