묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
여러 패키지들 does not exist 오류
안녕하세요 김영한님! 강의 아주 잘 듣고있습니다!! 현재 김영한님 첫번째 강의를 다 듣고 저 혼자 만들어보고 싶은게 생겨서 만드는중인데요 현재 제가 군대에 있어서 사지방에서 코딩을 하느라 인텔리제이를 사용하지 못하고 깃허브에서 제공하는 codespaces와 gitpod을 사용하여 vscode 환경에서 코딩하는 중입니다. 근데 jpa의 JpaRepository나 lombok 혹은org.springframework.boot.autoconfigure.SpringBootApplication 이런 패키지들이 계속 does not exist라고 뜹니다. 김영한님꺼 따라할때는 잘 됐는데 이제 제가 혼자서 만들고 싶은거 만드려니 확실하지도 않고 실행도 잘 안돼서 패키지를 못읽는건지도 잘 모르겠습니다. 현재 build.gradle에 의존성도 다 넣어있고 vscode의 패키지 설치에도 java extention pack, lombok, spring extention pack또 다 깔았습니다. 당연 재설치도 해보았구요! 구글링을 지금 며칠째 하고있는데 도저히 안되서 여기에 질문 올려봅니다...springboot version : 3.1.3jdk version : 17
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 약 10분부근 @RequestMapping 404
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 약 10분 부근에@Controller 를 주석처리하고@Component@RequestMapping 을 어노테이션으로 입력하고 실행하면에러가 뜨네요 ?@Controller로 하면 잘 되는데 강의와는 다르게 안되네요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Autowired를 생략할 수 있는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]2:00 부분에서 "생성자가 하나만 있으면 @Autowired를 생략할 수 있다"라고 하셨는데그런 이유가 아니더라도 SpringConfig에 MemberRepository가 스프링 빈으로 등록이 되어 있으니, 그것의 구현체인 JdbcTemplateMemberRepository의 생성자에@Autowired를 붙이지 않아도 되는 거 맞나요?예전 강의에서 SpringConfig에 등록된 MemberService 등은, MemberService 클래스에서 @Service, @Autowired를 지웠던 기억이 있어서 그렇습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdbc:h2:tcp://localhost/~/test로 연결시 오류가 발생합니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.최초로 jdbc:h2:~/test로 연결을 실행 한 뒤~/test.mv.db 파일 생성을 확인하였습니다.그러고 영한님께서 말씀해주신 대로jdbc:h2:tcp://localhost/~/test로 연결했더니 다음과 같은 오류가 발생하네요.. 해결방안 답변해주시면 감사하겠습니다.참고로 h2 버전은 강의와 같은 버전을 사용하였습니다. +) 추가로 삭제 후 동일버전, 하위버전으로 재설치도 해보았는데 여전히 같은 오류가 발생합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
생성자 주입 방법이 아닌 필드 주입 방법일 때 @Autowired
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]컴포넌트 스캔과 자동 의존 관계 설정 방법을 통했을 때는 MemberService가 아래 코드와 같았었는데@Service public class MemberService { private final MemberRepository memberRepository; @Autowired public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } } MemberService를 SpringConfig에 등록한 이후로는 아래 코드와 같이 @Service와 @Autowired를 지웠잖아요?public class MemberService { private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; }이 경우엔 생성자 주입 방식의 경우인데 만약 필드 주입 방식을 사용한다면 @Autowired를 어떻게 해야 하나요? 1) 컴포넌트 스캔과 자동 의존 관계 설정 방법일 땐 필드에 @Autowired를 붙이고@Service public class MemberService { @Autowired private MemberRepository memberRepository; } 2) 자바 코드로 직접 스프링 빈 등록하기 방법(SpringConfig에 등록)일 땐 필드에 @Autowired를 붙이지 않아도 되나요?public class MemberService { private MemberRepository memberRepository; }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest에서 필드 주입 방식에 @Autowired를 쓰는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의를 쭉 따라왔습니다.궁금한 점이 있는데 통합 테스트 클래스인MemberServiceIntegrationTest에서 필드 주입 방식으로@Autowired MemberService memberService; @Autowired MemberRepository memberRepository; 이렇게 선언했잖아요?그런데 SpringConfig에서 MemberService랑 MemberRepository를 스프링 빈으로 등록했으니깐여기서도 @Autowired를 빼도 될 것 같았는데오류가 나더라구요. 이유를 뭔가 알 것 같기도 하면서 개념이 좀 헷갈리는데 @Autowired를 붙여야 하는 이유가 뭔가요?
-
해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
@RequestParam
제가 이해한 게 확신이 안 들어서 질문드립니다. @RequestParam은url을 통해서 데이터를 전달하는 방식인 거죠? 즉vi/menu_up?no=8처럼이렇게 데이터를 ?뒤에서 key=value 형식으로 나르는 거죠? 그리고 html에서 링크를 /v1/menu_del(no=..) 이런 식으로 지정하거나,html 태그 form+input이 저런 url을 만들어주는 거죠? (태그 안에 action="/v1/menu_ins"을 적어줄 경우 그 뒤 url에 ?no=8 이런 식의 데이터를 붙여주는 거죠?)
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션과 세션의 관계, 세션과 트랜잭션의 관계가 궁금합니다.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 DB 1편 트랜잭션 이해 파트에서 질문입니다."애플리케이션에서 DB 트랜잭션을 사용하려면 트랜잭션을 사용하는 동안 같은 커넥션을 유지해야한다. 그래야 같은 세션을 사용할 수 있다" 여기서 세션의 개념이 정확히 이해가 가지 않아 질문드립니다.찾아본 결과 하나의 커넥션에는 여러 개 세션이 존재할 수도, 아예 없을 수도 있다고 하고, 세션은 전달된 SQL이 실행되는 하나의 논리적 단위라고 합니다. 강의 설명에 따르면 같은 세션을 유지해야만 트랜잭션이 하나의 단위로 처리되기 때문에 이를 위해 같은 커넥션을 사용해야 한다고 이해했습니다. 그렇다면 같은 커넥션을 사용하는 것을 보장했을 때 항상 같은 세션을 사용하는 것도 보장되는 것인가요? 한 커넥션이 여러 세션을 사용하는 경우는 어떤 경우인가요? 여러 세션을 사용하게 되면 여러 세션에서 여러 개의 트랜잭션이 실행될 수 있는 것인가요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
47강 강의 내용관련 질문이 있습니다.
47강 회원정보 수정부분에서 session을 왜 추가적으로 넣어주어야 하는지 궁금합니다. 로그아웃 하기 전에 세션은 사라지지 않는 것 아닌가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DB가 제공하는 클라이언트의 의미가 이것이 맞나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]build.gradle의 dependencies에 추가한runtimeOnly 'com.h2database:h2'이것이 DB가 제공하는 클라이언트라고 하셨는데 인텔리제이로 실행한 후 웹 브라우저로 localhost:8080에서 회원 등록을 하고, 회원 조회를 할 수 있잖아요? 제가 회원 등록 및 조회를 할 때의 웹 브라우저에 붙어 있는 게 클라이언트이고, h2.bat을 통해 실행시킨 프로그램이 서버라고 보면 되나요? 비슷하게 이해한 건지 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원등록관련 질문있습니다.
회원등록과 회원목록조회의 경우, 서버기동 중에만 메모리에 등록되고 서버를 죽이면 데이터(?)가 사라지는 걸로 알고있습니다. 근데, 서버재기동 후 이전에 했던 회원정보로 회원가입하면 아래와같이이미 존재하는 회원이라는 에러처리가 발생합니다. 서버 재기동시 store객체는 초기화 되는거 아닌가요?에러처리가 발생하는게 정상인지? 정상이면 왜 그런지 알고싶습니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
@Transaction 적용 시 수동 빈 등록 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Transaction을 사용 시, 스프링 AOP가 적용되어야 하기 때문에 테스트 코드에서는 @SpringBootTest와 함께 트랜잭션 적용에 필요한 다양한 객체를 수동으로 등록하고 적용하는 법을 배웠습니다. (PlatforTransactionManager, DataSource 등) 그러면 테스트 환경이 아닌 서비스 로직에서 @Transaction을 사용할 경우에는 강의에서 진행한 수동 빈 등록 절차를 거치지 않아도 되는 건가요? @Transcation을 썼을 때 트랜잭션에 필요한 빈들을 자동으로 등록한다는 내용이 이 뜻인건지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
2강에서 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. JDK11 쓰고, start.spring에서 JAVA 11을 선택했는데도 17이 뜹니다.. 그리고Run을 시키면 "No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.10 was found.The consumer was configured to find a library for use during"이란 에러가 뜹니다! 어떻게 해결해야 할까요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
No suitable driver found for 08001/0
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의대로 create table member도 실행했고select로 조회도 가능합니다.그런데 왼쪽에 No suitable driver found for 08001/0라는 메시지가 있는데 혹시 이 메시지 때문에 문제될 게 생길까요? 강의 그대로 했는데 왜 저는 이런 게 뜰까요..h2는 D 드라이브의 study 폴더에 설치했고test.mv.db는 C 드라이브에 있던데 혹시 이게 문제일까요? 이 강의에선 DB 조회 같은 거에 문제가 생기진 않았는데다음 시간부터 뭔가 문제가 생길까 봐 질문드립니다. No suitable driver found for를 클릭하면 다음과 같은 메시지가 뜹니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
여러개의 Resource 반환
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 잘 들었습니다.현재 진행하고 있는 게시판 프로젝트에서, 로컬 컴퓨터(서버)의 C://폴더명(프로젝트 외부 폴더임) 하위에 이미지를 저장하고 있는데, 사진 게시판에 접근할 때, 여러개의 사진(10개씩)을 동시에 response로 줘야 하는 상황에서 어떻게 하는지 잘 모르겠습니다. ResponseEntity에 List<Resource>를 담았더니 잘 안되는 것 같습니다. + +또한, 이미지 뿐만 아니라, 하나의 이미지에 대한 정보(제목, 좋아요 수, 조회 수) 까지 함께 보내야 하는 상황입니다. AWS 같은 서비스를 사용하지 않고, 서버 컴퓨터에 파일을 저장하는 경우, 여러개의 파일을 동시에 클라이언트에 전송할 때, 어떤 방식을 사용하는지 궁금합니다.또한, 여러개의 이미지를 전송할 때, 이미지 하나당 묶여있는 데이터를 어떻게 해야 함께 보낼 수 있는지, 일반적인 방법을 알고 싶습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ModelAttribute, @SessionAttribute name 속성 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================안녕하세요 강의를 보고 프로젝트에 적용 중 궁금증이 생겨서 해결한 문제가 있어서 옳은 결론을 낸 것인지 궁금하여 질문 드립니다. @ModelAttribute는 name 속성을 작성하지 않을 경우 파라미터의 class 명의 첫글자를 소문자로 바꾼 후 적용한다고 강의에서 들었습니다. ex) @ModelAttribute LoginUser loginUser 일 경우 loginUser로 model에 저장. @SessionAttribute를 사용하다가 무언가 이상해서 여러 테스트를 해보니 이 애노테이션은 name 속성을 사용하지 않았을 경우 클래스 명이 아닌 변수 이름을 사용하는 것으로 확인했습니다. ex) @SessionAttribute User loginUser 일 경우 loginUser로 session에 속성 값 저장. 제가 확인한 방법이 옳은 것인지, 틀리다면 어떤 것이 맞는지, 더 확인해야할 부분이 있는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
디렉터리에 있는 / 관련해서 질문드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } 강의에선 이렇게 되어 있는데@GetMapping에선 /members/new이고return에선 members/createMemberForm인데전자는 members 앞에 /가 있고 후자엔 members 앞에 /가 없는데 맨 앞에 /를 붙이나 안 붙이나 상관없다고 보면 되나요?제가 실행할 땐 /를 뺐다가 안 뺐다가 해도 정상 동작하는 것 같긴 해서요.. 아니면 권장하는 표기법이 따로 있나요? 그리고 자바에선 디렉터리 구분은 .로 하잖아요com.example.car 이런 식으로 .으로 구분하는데위에서 .가 아닌 /인 이유는 해당 디렉터리가 HTML 파일들에 대한 디렉터리라서 그런 건가요?그래도 위 코드 자체는 자바 코드라서 .일 줄 알았었어요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
save()메소드만 실행하는법?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.저도 강사님처럼 save()메소드만을 실행하고 싶은데 그런 옵션이 안보입니다.강사님은 옵션이 이렇게 뜨는데 저는 달라요 ㅠ어떻게 해야 강사님처럼 save() 메소드만을 실행할 수 있나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build.gradle 오류 및 localhost:8080 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://drive.google.com/file/d/1YQ9xwVxwzAN7xvYTOm0Jbky6vjB2e0cd/view?usp=share_link 안녕하세요,build.gradle에서 불러오기가 계속 안되는 것 같은데, 혹시 어떤점을 수정해야 할까요? 우선 강의 끝부분인 AOP 까지 모두 설계 완료한 상태입니다. localhost:8080 웹페이지도 계속 생성이 안되어, 전체적으로 어느 부분에서 오류가 생겼는지 몰라 질문 드리게 되었습니다. 상단 링크에 첨부된 프로젝트 참고해주시어 수정사항 말씀해주시면 감사하겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RedirectAttributes와 @PathVariable차이 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]리턴에서 리다이렉트를 위한 URL을 지정할 때,위에는 RedirectAttributes를 사용하여 itemId를 파라미터로 받았고 아래는 @PathVariable을 사용하여 itemId를 파라미터로 받았습니다.이것의 차이는 무엇인가요?itemId를 받아올 수 있는 기능이 있다라는 것은 공통적이고RedirectAttributes는 RedirectAttributes에 더 특화된 기능을 사용하기 위해 불러오는 것이고 @PathVariable는 단순히 파라미터를 가져오는 기능이다라고 이해하면 될까요?