묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Package폴더를 못 찾겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]hello.hellospring 폴더 내부에서 controller 패캐지를 만들려고 똑같이 단축키를 입력해 검색을 했는데 package는 없고 package.json폴더만 있습니다. 어떻게 해결해야될까요 자바는 21버전 사용중이고 스프링은 3.2.4버전 사용중입니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의에서 다른 타입이 바인딩 되면 자동으로 FieldError 생성해서 BindingResult에 넣는다고 이해했는데요 이걸 타임리프에서 어떤 부분이 출력을 해주는 건가요? 강의 뒤쪽보니까 th:field가 오류있으면 자동으로 보관된 값 출력해준다고 해서 th:field를 지우면 오류 표시가 안되나? 하고 지워봤는데 그대로 동작하더라고요 이유가 뭘까요 다른 타입을 매핑하면 화면에 오류메시지가 다른 타입이 바인딩 되었다는 메시지랑 저희가 BindingResult에 넣은 "가격은 1,000~1,000,000 까지 허용됩니다."메시지도 같이 출력되더라고요 그런데 저 메시지는 if문으로 판별해서 null이 거나 1000보다 작거나 1000000보다 크면 넣어주는데 필드가 다른 타입이면 if문이 작동하지 않을 것 같은데 왜 FieldError가 넣어지는 거죠?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
PPT에 오타가 존재하는 것 같습니다.
2강 커넥션 풀과 데이터 소스 챕터에서11 페이지의 상단에 이부분... 쓰레드 풀이 아니라 커넥션 풀 아닌가요?쓰레드 풀은 지금 내용이 아닌거 같아요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Unsupported Gradle. The project uses Gradle version which is incompatible with IntelliJ IDEA 2023.3.6.
전에는 문제 없이 잘 실행됐는데 이런 오류가 발생합니다. 솔루션을 보니 Gradle version 3.0 이상 업그레이드 하라고 되어있는데 이미 3.0이상인데 오류가 나는지 모르겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
localhost:8080/template/layout 호출시 Whitelabel Error가 뜹니다.
(TemplateController)(base.html)(layoutMain.html)(에러화면) 왜 오류가 뜨는지 잘 모르겠습니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
에러코드 필터 , 인터셉터, AOP 선택
강의 수강 후 제 프로젝트에 AOP 로직을 적용해 보았습니다. 에러코드를 AOP를 빼서 모듈별로 적용했는데 에러코드의 경우 필터나 인터셉터로는 안되는 것일까요? 어떤 기준으로 공통 사용 부분을 필터, 인터셉터, AOP로 나눠서 각각 적용해야할지 모르겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
빌드 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]빌드 오류가 있습니다. 자바 17로 설정했는데 오류가 고쳐지지 않네요ㅠ오전 9:18:37: Executing ':ServletApplication.main()'...Starting Gradle Daemon...Gradle Daemon started in 2 s 784 msFAILURE: Build failed with an exception.* Where:Initialization script 'C:\Users\Sam's\AppData\Local\Temp\ServletApplication_main__1.gradle' line: 6* What went wrong:Could not compile initialization script 'C:\Users\Sam's\AppData\Local\Temp\ServletApplication_main__1.gradle'.> startup failed: initialization script 'C:\Users\Sam's\AppData\Local\Temp\ServletApplication_main__1.gradle': 6: Unexpected character: '\'' @ line 6, column 86. tudy/springmvc/servlet/servlet') ^ 1 error* 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.BUILD FAILED in 6s오전 9:18:47: Execution finished ':ServletApplication.main()'.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
basic-objects 에 관해 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강사님의 HTML 코드, Java 코드 모두 복붙하여 진행하였는데, White Label 이 나옵니다.이 부분에서 #을 빼서 바로 받는 부분에 오류가 발생하는데, 왜 그런걸까요?? 제가 오타를 쳤을 까봐 코드도 강사님 것을 복붙 하였는데도 같은 오류가 납니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안녕하세요 RequestParam 생략 질문있습니다.
안녕하세요 MVC 1편을 수강 중입니다. 강의에서는 파라미터와 이름이 같으면 생략이 가능하다고 하는데,저는 그 지점이 잘 안되는 것 같아요. 코드랑 오류 올리겠습니다 ㅠ 어디가 문제인지 찾아주시면 감사하겠습니다.package hello.springmvc.basic.request; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.io.IOException; @Controller @Slf4j public class RequestParamController { @RequestMapping("/request-param-v1") public void requestParamV1(HttpServletRequest request, HttpServletResponse response) throws IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); log.info("username={}, age={}", username,age); response.getWriter().write("ok"); } @ResponseBody @RequestMapping("/request-param-v2") public String requestParamV2(@RequestParam("username") String memberName, @RequestParam("age") int memberAge ) { log.info("username={}, age={}", memberName,memberAge); return "ok"; } @ResponseBody @RequestMapping("/request-param-v3") public String requestParamV3(@RequestParam String username, @RequestParam int age ) { log.info("username={}, age={}", username,age); return "ok"; } @ResponseBody @RequestMapping("/request-param-v4") public String requestParamV4(String username, int age) { log.info("username={}, age={}", username,age); return "ok"; } @ResponseBody @RequestMapping("/request-param-required") public String requestParamRequired(@RequestParam(required = false) String username, @RequestParam(required = false) int age) { log.info("username={}, age={}", username,age); return "ok"; } @ResponseBody @RequestMapping("/request-param-default") public String requestParamDefault(@RequestParam(required = false, defaultValue = "guest") String username, @RequestParam(required = false, defaultValue = "-1") int age) { log.info("username={}, age={}", username,age); return "ok"; } }java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DB 접근 제어자
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. DB는 단 하나만 존재해야하며 이를 재할당해서도 안되고 공통의 개념으로 보려면 DB 객체를 만들 때, private static final로 하는 것이 맞나요? 헷갈려서 질문드립니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
test 코드에 static을 사용하는 이유와 new 생성자가 나오는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]너무 늦게 눈치챈 일이긴 합니다만, 테스트 코드를 짤 때, 강의 전반적으로 static 클래스를 사용하는 것을 발견했습니다. 평소 Config를 구성할 땐 static을 사용하지 않았었는데 말이죠.몇 가지 실험을 통해 발견한 것은@Slf4j 애너테이션이 non-static nested classes엔 지원하지 않는다 였습니다.그렇다면 RollbackTestConfig 클래스에선 스태틱 클래스를 new 키워드로 생성하는 부분은 왜 그런 것인지@TestConfigurationstatic class RollbackTestConfig { @Bean RollbackService rollbackService() { return new RollbackService(); } } , @Slf4j 이외에 static을 쓰는 이유가 무엇인지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 코드 작성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님께서 테스트 케이스를 작성할 때 앞의 테스트가 뒤의 테스트에 영향을 미치는 것을 방지하기 위해 clearStore()를 작성하시고 사용하셨는데 다형성에 의해서 MemberRepository memberRepository = new MemberRepositoryImpl();// 전자이와 같이 쓰는 것으로 알고 있는데 clearStore()를 적용하기 위해서 코드를 직접 구현체 클래스의 타입으로 바꾸셔서 아래와 같이 작성을 하시고 테스트하셨습니다.MemberRepositoryImpl memberRepository = new MemberRepositoryImpl();// 후자MemberRepository 인터페이스에 clearStore()를 써주게 되면 직접 기능 구현을 할 때 당연히 이 추상 메서드가 쓰일 일은 없지만 테스트 케이스를 작성할땐 쓰이고 안 써주면 테스트 케이스를 작성할 때 후자처럼 작성을 해야하잖아요...?어느 것이 더 좋은 방법이라고 할 수 있을까요? 강사님 방법을 100% 신뢰하면 되는 것일까요?
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
내부 호출에 대한 재질문
제가 좀 헷갈려서 다시 질문을 좀 드립니다.@Transactional이 있으면 프록시 생성이 된다그런데 내부 호출을 하면 대상 객체(this)의 메소드를 호출하니까 트랜잭션이 발생하지 않는다그래서 문제이다. 이를 해결하기 위한 방법 중에서 제일 권장하는 것이 클래스를 분리하는 것이다라고 이해를 했습니다. 그런데 실무에서는@Transactional (<= 클래스 전체에 트랜잭션을 걸었다는 표현입니다 어떻게 했는지는 잘 모르겠지만...클래스에 걸린 것은 확실합니다)class ServiceImpl implements Servcie {public void mainMethod() { // 메인 메서드deleteMethod(); // 내부 메서드 호출insertMethod(); // 내부 메서드 호출} public void deleteMethod() {} // 내부 메서드public void insertMethod() {} // 내부 메서드}보통 위와 같이 코딩을 자주 하는데 이때는 클래스에 @Transactioanl 어노테이션이 있어전체 메서드에 @Transactional 이 적용된다는 것은 이해를 합니다. "그런데 mainMethod()에서 deleteMethod()를 호출하면 내부 호출이라 대상 객체의 즉, ServiceImpl 클래스에서 deleteMethod()를 호출하므로 트랜잭션이 적용되지 않는다"가 맞지 않나요? 아니면 굳이 클래스를 분리하지 않고 클래스 단위에 @Transactional 애노테이션을 적용시키면내부 호출에 문제가 없다는 뜻인지? 글로 질문을 하기가 어렵습니다. 답변을 글로써 하시기는 더욱 더 어려우실 것 같은데너무 궁금해서 다시 질문을 드리니 양해 바랍니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
공통 예외처리 질문 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예외를 던질 때 cause 예외를 함께 넘기니까공통 예외처리하는 부분에서는 Exception으로 예외를 잡아서 로그를 남기나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
도메인과 웹이 백, 프론트를 의미하는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]웹을 다른거로 바꾸어도 도메인은 바꾸지 않아도 된다고 설명해주신 부분이 프론트 클라이언트를 앱을 이용하든 웹을 이용하든, 리액트, html,css,is를 이용한 프론트를 이용하든 백앤드는 변경이 없어도 된다는것과 같은 말인건가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
오타인 것 같습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]7. 스프링 MVC - 웹 페이지 만들기.pdf (v20231202)19페이지 아래 부분에/resources/static/items.html → 복사 → /resources/templates/basic/items.html 이렇게 나와 있는데/resources/static/items.html↓/resources/static/html/items.html인 것 같습니다. html 경로가 생략된 것 같습니다. +)24페이지 위에/resources/static/item.html 26페이지 중앙에/resources/static/addForm.html 32페이지 위에/resources/static/editForm.html 이 부분들에도 강의 기준으로 /resources/static/html/???.html인 것 같습니다.
-
미해결스프링 웹 MVC
7:58 예제 코드 찾는 법
안녕하세요 기선님!기선님의 스프링 강좌 재탕하고 있습니다.7:58 부분에 스프링의 테스트 코드 예제는 보통 어떻게 검색하여 찾으시는건가요?그냥 깃허브에서 검색하셨는지 꿀팁이 있다면 알려주시면 감사하겠습니다.!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Boolean타입이 null일떄와 false일떄 어떤 위험이 있어서 히든 필드를 사용하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]히든필드를 이용하여 체크를 안하면 널값이 들어가서 히든필드를 사용한다고 이해하였는데 널값이 들어가면 널포인트 예외 처리때문에 그런건가요? 단순히 널값이 문제라면 boolean타입을 이용하여 널값을 안받고 false로 받아도 되는거 아닌가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
하위 디렉토리 인식 안됨
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]v5의 하위 디렉토리인 adapter디렉토리에 ControllerV3HandlerAdapter가 있는데 import가 안됩니다.v5에 직접 파일을 옮기고 handlerAdapters에 add했을때는 됩니다. 하위 디렉토리 인식이 안되는 이유를 모르겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
hello 서블릿에서 이상한 현상이 나타납니다.
respose의 문장이 웹브로져에 나타나지 않고, 텍스트 파일로 다운로드가 됩니다???? 이게 무슨 일일까요?