묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cannot find symbol size() 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 회원 리포지토리 테스트 케이스 마지막 줄에서 오류가 납니다 이전 질문들에도 이런게 없고 구글링을 해봐도 방법이 없습니다 왜 이럴까요?강의 자료 그대로 복붙해봐도 마찬가지입니다ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
혹시 교재는 어디에 있을까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요. 혹시 강의 교재는 어디에서 다운로드 할 수 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
thymeleaf 에서 스프링 부트3.0 이상일때 request 꺼내기
@GetMapping("/basic-objects") public String basicObjects(HttpSession session) { ... }위 컨트롤러 작성하는 부분입니다.관련된 html 파일은 basic-objects.html 인데, ${#session} 으로 세션을 꺼내고 ${session} 으로도 세션을 꺼내네요.컨트롤러에서 파라미터로 호출하면 자동으로 모델에 담아서 뷰단으로 넘겨주기 때문에 기본으로 제공하는 #session 과 파라미터로 호출한 session 둘다 꺼낼 수 있는걸로 보입니다.그런데 강의문서에 "스프링 부트 3.0 이상이라면 다음과 같이 작성하자." 라고 써있고 컨트롤러에서 HttpServletRequest.. 리퀘스트와 리스폰스 그리고 서블릿 컨테이너를 Model 에 addAttribute 로 넣어 뷰단에 넘겨줍니다.// 스프링 부트 3.0 이상 @GetMapping("/basic-objects") public String basicObjects(Model model, HttpServletRequest request, HttpServletResponse response, HttpSession session) { session.setAttribute("sessionData", "Hello Session"); model.addAttribute("request", request); model.addAttribute("response", response); model.addAttribute("servletContext", request.getServletContext()); return "basic/basic-objects"; }리퀘스트와 리스폰스는 컨트롤러 메서드에서 파라미터로 호출했으니 Model 에 넣어서 넘겨줄 필요 없는거 아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인터페이스와 추상클래스의 차이를 모르겠어요.
강의를 듣다 보면, 컨트롤러, 어댑터 서비스 리포지토리 등 인터페이스로 정의한 뒤에 실제 구현객체를 따로 두는 형태로 개발을 하고 있는데 MVC 강의를 들어보면 어댑터의 경우 createParamMap 이라는 공통으로 사용되는 메서드가 있는데, 어댑터 들은 어댑터 끼리 "의미있는 연관 관계"가 아니라 같은 기능을 하기 때문에 interface로 정의하는 걸까요? createParamMap같이 똑같이 사용되는 건 interface에 default 메서드나, 추상 클래스에 메서드로 사용하면 좋을 것 같은데, 이렇게 default 메서드로 구현하거나 추상클래스의 메서드로 구현하는 부분에서도 차이가 있을까요? 둘의 차이가 없다면, 왜 추상 클래스가 아닌 인터페이스로 정의하고 구현객체를 두는지 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션 템플릿과 AOP의 프록시객체
안녕하세요.앞에서 템플릿 콜백 패턴으로 트랜잭션 템플릿(스프링이 제공한 것이긴 하지만)을 구현했던 것처럼 AOP의 프록시 객체 클래스를 직접 구현할 수도 있을까요??구현할 수 있다면 어떤 방식으로 구현하는지,구현이 어렵다면 어떤 부분 때문에 어려운지 궁금합니다...!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 내용을 복습하는 도중 에러발생
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 내용을 복습하는 도중 WEB-INF/views 에있는 jsp 파일을foward 하는 과정에서 에러가 발생합니다.아무리 봐도 틀린것도없고 문제되는 사항도없는거같은데이상하게 404 에러가 계속 출력되네요오타도없구요 ..강의 내용을 복습하며 스스로 만들어보고자 하고 따라하다가 이상하길래 소스코드까지 비교 해가며 했지만 다를게 없는데 안되네요 https://drive.google.com/file/d/1Zpk7Dk007LNbtLLHE_OKICgq-gmki2Jp/view?usp=sharing 구글드라이브 링크로 소스코드 첨부 합니다 뭐가 문제인지좀 봐주실수잇을까요 ? mvc에 url-patterns에 /home을 하였는데localhost:8080/home 에 접속하면WEB-INF/views/test.jsp 내용이 출력되어야하는데그냥 404에러만 뜹니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
포트스맨 content-type 수정 시 오류 발생합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강사님 강의를 따라 가던 중에 컨텐트 타입을 바꾸려고 했는데 한글만 입력이 되고영어는 입력도 안되고 따로 지워지거나 하지도 않습니다.혹시, 다른 설정이 필요한건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
등록 버튼을 누르면 홈화면으로 돌아가질 않아요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이름을 등록하면 홈화면으로 돌아가지 않고 등록화면에 계속 있습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
controller 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]controller어노테이션을 넣으면 이렇게 뜹니다
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
dataSource에 관한 질문
앞선 강의들에서 driverManager는 라이브러리에 등록된 DB 드라이버들을 관리하고 커넥션을 획득하는 기능을 제공한다고 배웠습니다.하지만 여러 요청이 동시에 왔을 때 DriverManager는 커넥션이 하나 뿐이라 여러 요청을 병렬처리를 할 수 없다는 단점이 있어 커넥션 풀 이라는 개념을 도입하여 여러 요청을 풀 내의 여러개의 커넥션을 통해 병렬 처리가 가능하도록 하는 것이고, 이러한 커넥션을 획득하는 방법이 DriverManager, Hikari, DBCP2 등 여러 커넥션 획득 방법이 존재하기 때문에 이들을 추상화해둔 것이 DataSource interface이고, DataSource 구현체로 DriverManager를 통한 커넥션 획득 방법은 DriverManagerDataSource, Hikari를 통한 커넥션 획득 방법은 HikariDataSource이다.제가 이해한 것은 이정도 인데 맞는지 모르겠습니다..
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
controller에 @Transactional은 안되나요?
강의를 다 보고 따로 찾아보니 @Transactional은 controller가 아닌 service에서 사용해야되고 controller에서 사용하게 되면 트랜잭션이 적용이 안된다고 하길래 직접 해봤습니다. controller의 메소드에 @Transactional을 붙여서 로직을 실행시켜보니 변경감지가 일어나서 update 쿼리가 날라가는 것을 확인하였는데 이러면 트랜잭션을 통해서 변경감지가 일어난 것 아닌가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build.gradle 에러
build.gradle에서 useJUnitPlatform()부분에 No candidates found for method call useJUnitPlatform. 에러가 뜨는 이유가 먼가요? 스프링부트 3.1버전이라 Jdk 는 17로 맞춰놓은 상태입니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
그래들 경고문을 없애고 싶어요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]프로젝트 링크https://drive.google.com/file/d/1qXq-6NM7aS3BUJZnxb5MBokjmAh87X08/view?usp=sharing -참고사항-(이전 질문을 했던 프로젝트 진행도와 같아 참고로 기재)java.lang.ClassNotFoundException이 발생은프로젝트 경로를 한글없이 새 경로로 세팅하니 해결됨 -본 질문-이후 테스트는 정상적으로 되나 그래들 호환 경고문이같이출력됨테스트 결과만 나오게 하려면 어떻게 해야하나요? -개인적으로 해결을 위한 조치-2번 방법 적용해봤으나 해결되지 않음
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp파일 생성하면 모든 코드가 다 흑백컬러입니다ㅠ
.jsp 파일 생성하면 파일을 intellj가 .jsp파일이라고 인식은 합니다. 빨간색으로 jsp파일이라고 나타나는데요, 저는 강사님처럼 특정 키워드가 색깔로 표시되지가 않습니다ㅠㅠ모든 코드가 다 흑백이에요어떻게 하면 색깔을 입힐 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
new를 사용하지 않는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 제가 이해한 것은 new를 사용하면 계속 새로운 내용으로 바뀔 때마다 new 객체가 생성되어 new대신 public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; }을 사용하는 것인가요?이러한 방법이 DI가 맞나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HandlerExceptionResolver not working
이렇게 했는데 localhost:8080/api/members/bad 경로로 GET요청을 보냈는데 status가 계속 500이에요.error도 "internal Server Error"로 나와요
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
SQLExceptionTranslator translate의 파라미터로 무엇을 넘기는 건가요?
SQLExceptionTranslator translate의 파라미터가 (String task, @Nullable String sql, SQLException ex) 이런식으로 되어있던데 첫번째 task에 무엇을 넣어야하는지 궁금합니다. 맥락상 실행한 메서드명을 넣는 것 같은데 이것저것 변경해보다가 전혀 관련없는 글을 써넣어도 정상작동하던데 task에 무엇을 넣는지, 어떤 역할을 하는지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인이 성공한 뒤 세션이 이미 존재하는 경우가 있나요?
//로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션 생성 HttpSession session = request.getSession();세션이 있으면 있는 세션을 반환한다고 하셨는데처음 로그인을 하는데 이미 세션이 존재 할 수가 있나요??항상 신규 세션을 생성 하는거 아닌가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MVC패턴에서 보통 Servlet 클래스를 Controller로 쓰는 편인가요?
이제 MVC 패턴 적용 편 듣고 있는데 저는 따로 Controller 클래스랑 Model 클래스를 만들어서 사용할 줄 알았는데 그냥 Serlvet 클래스 객체를 Controller로 사용하고 해당 Serlvet 객체 내에 있는 저장소를 Model로 사용한다고 해서 좀 의아해서 여쭤봅니다!실제로 현업에서 Controller와 Model 클래스를 따로 만드는게 아닌건지, 아니면 강사님께서 쉬운 예시를 보여주시려고 그냥 Servlet 객체를 둘 다 로 쓴건지 궁금하네요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@SpringBootTest 사용 이유가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@SpringBootTest 사용 이유가 궁금합니다.강의에서 MemberServiceTest에서는 사용하지 않고 MemberServiceIntegrationTest에서는 사용을 합니다.자료에는 "스프링 컨테이너와 테스트를 함께 실행한다." 라고 간략하게 설명이 되어 있습니다.제가 이해가 부족하여 영상 및 해당 설명으로 이해가 되지 않습니다. 제가 이해한 바로는 @SpringBootTest는 DB를 사용하여 넣는 건지 궁금합니다. 감사합니다.