묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
4분 20초
안녕하세요 강의 4분 20초 부분 따라하고 있는데 오류가 발생합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
FrontControllerServletV1 생성자에 대해 질문드립니다.
생성자가 언제 만들어지는지 궁금합니다. 특별히 new를 해준것도 아닌데 생성자가 어디 시점에서 실행이 되는지 궁금합니다. 또한 service라는 메소드는 urlPatterns에 있는 링크로 들어가면 자동으로 실행되는 method인가요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
이미지
resources폴더안에 이미지 폴더가 있으니까 경로를 ${root}resources/image/logo.png이렇게 해주어야 하는거 아닌가요ㅠㅠ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceTest코드에서 AfterEach 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. MemberServiceTest에서 memberRepository를 사용하여 afterEach메서드를 통해 초기화 시켜주는데 memberService 안의 memberRepository가 final 하기 때문에 건드리지 못해서 밖에서 memberRepository 오버로딩을 통해 초기화 해주는건가요?? 맞다면 final 키워드가 붙어있는 memberRepository를 밖에서 오버로딩할수 있는건가요? MemberService안에 있는 memberRepository는 private final인데 그 밖에서 선언한 memberRepository를 초기화해주는것으로 어떻게 초기화가 되는거인지 궁금합니다...!!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HelloBean에 빈 이름을 지정해야 하는 이유
안녕하세요 단순한 질문이긴 한데.. 제가 뭔가 착각하고 있나 싶어 질문 드립니다 ㅠ @Component 어노테이션을 붙이면 빈으로 등록이 되죠 그리고 등록될 때 이름을 지정하지 않으면 해당 클래스 이름의 첫글자를 소문자로 바꿔 등록된다고 이해하고 있는데요 강의 1분 24초에 HelloBean 이라는 클래스를 하나 만들어서 빈으로 등록해 사용하는데 이 때 @Component static class HelloBean{ } 이렇게만 등록해도 helloBean 이라는 이름으로 빈이 등록되 않나요? @Conponent("helloBean") 이라고 이름을 지정해 주어야만 정상적으로 코드가 동작하고 이름을 지정해 주지 않으면 빈을 찾을 수 없다는 에러가 발생하던데 결과적으로 빈의 이름을 지정하지 않아도 타임리프에서 사용된 빈의 이름과 일치할 텐데 빈 이름을 지정해야 코드가 정상적으로 동작하는 이유를 모르겠습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바17로 해도 되나요?
강좌에서는 자바 11로 하라고 하셨는데, 혹시 자바17로 해도 되는걸까요? Build.grade의 sourceCompatibility에 자바17버전이라고 돼있습니다. Preference의 gradle JVM은 Project SDK corretto-17 Project settings 에서 SDK는 corretto-17 Amazon Corretto version 17 입니다. 그리고 혹시 JVM에 원래 선택 돼있는 Project SDK corretto-17말고 corretto-17 Amazon Corretto version 17.0.4 도 있는데, 이걸로 바꿔야 하나도 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
MVC2 타임 리프 입력 폼 처리에서 질문이 있습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 강사님 타임리프 부분이 가물가물해서 복습하고 있는 수강생입니다. 다름이 아니라 '타임리프 - 스프링 통합과 폼' 챕터 '입력 폼 처리' 강의에 질문이 있어서 글을 남깁니다. 지금 저는 JPA를 사용하면서 MVC 2 강의를 복습하고 있고, 기본 생성자의 접근 제한자를 모두 protected로 두고 사용하고 있습니다. 강의 내용 중, addForm을 Get으로 불러올 때, 빈 객체를 넘기셔서 일단 강의대로 적용하기 위해 public으로 접근 레벨을 변경하였으나, 여기서 문제가 발생하였습니다. 질문이 몇개 있어서 번호를 붙여서 질문하겠습니다!! 1. 기본 생성자를 사용하여 진행 시, save 및 update가 정상 작동하지 않습니다 (id를 제외한 모든 값이 null로 들어갑니다) 이 경우, 제가 생각하기에 flush가 동작하지 않아 그런 것 같은데, 정확한 버그 발생 이유와 해결 방안이 너무 궁금합니다!!ㅠㅠ 2. 결국 엔티티에서 빈 객체 생성자를 public으로 두고 싶지 않아, ItemDTO를 따로 만들어서 빈 객체를 생성하여 넘겨줬는데, 이렇게 해도 기능 자체는 정상 작동했습니다. 혹시 이 경우, 문제가 되는 점이 있을까요? (DTO => 엔티티 변환 과정 하나도 없이 그냥 ItemDTO만 전달했습니다) 바쁘실텐데 질문 읽어주셔서 감사합니다!! 또 항상 좋은 강의 제공해주셔서 강사님과 인프런 모든 분들에게 너무 감사드립니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
memberService 오류가 안 나는데 상관없나요?
영상에서는 memberService 부분이 오류가 뜨는데 저는 처음 생성자를 만들 때부터 빨간 줄이 없습니다 제가 다른 부분에서 잘못 작성한게 있는건가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
리포지토리 테스트 도중 10:40 하면~ 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 안녕하세요 ! 회원 리포지토리 테스트 케이스 작성 중에 10:40 쯤 repository.findAll(); 에서 하면~~ 하고List<Member> all = repository.findAll();이렇게 넘어가는데 윈도우 버전 어떤 단축키를 사용하는건지 궁금합니다 그리고 뭘 하는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
멀티스레드,서블릿 관련 질문드립니다
서블릿의 등장으로 인해 얻는이점이 멀티스레드처리를 지원한다고 이해했습니다. 제가 전에 공부했던 기억으론 웹브라우저와 웹서버가 통신을하는 형태가 되면서 네트워크프로그래밍, 멀티스레드 프로그래밍을 신경쓰지않아도 되게되었고, WAS에서는 비즈니스로직, UI로 직만 신경쓰면 된다 라고 공부했던 기억이 있습니다 제가봤던 부분의 그림입니다 조금 헷갈리는것이 1. 서블릿을 웹서버, 톰캣을 WAS 라고 보면 되는걸까요?? 2. 혹시 서블릿이 아니더라도 웹서버라면 어떤것이라도 멀티스레드 프로그래밍, 네트워크 프로그래밍을 신경쓰지않아도 되는것인가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의는 샀지만..
안녕하세요. 입문강의를 다 듣고 이제 다음 강의로 넘어가 보려고 합니다. 하지만 입문강의를 들었을때 좀 벅차다라는 생각이 들었습니다. 흐름은 알겠으나, 이해가 안되는부분을 생각해보면 .(점)이나 ()(괄호) 부분의 사용처 입니다. 막상 제가 혼자 개발을 한다고 생각해보면 ex) member1 = new MMR(); member2 = new MS(member1); Member finMember = memberService.finOne(SaveId).get(); Member member = em.find(Member.class, id); @GeneratedValue(strataegy = GenerationType.IDENTITY) 위 예제처럼 ()안에 들어갈 때와 의미 어떨때 들어가는지, .get()이 추가 의미 및 언제 사용하고 어느때 사용 하는지, Member.class 처럼 .class는 언제 어느때 들어가고 왜들어가는지.. @GeneratedValue에 GenerationType.IDENTITY 선택은 왜 했는지.. Ctrl + Q누르면 설명이 나오긴하는데 감이 안잡힙니다. 어느 핀트를 잡고 그 원리대로만 가면 되는건지... 강사님이 말씀하신것처럼 망망대해처럼 제가 뭐가 부족해서 어떻게 공부를 해야 할 지 잘 모르겠습니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Execution failed for task ':ServletApplication.main()'. 오류 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 이틀째 오류가 해결이 안되어 문의글 남깁니다. 여러번 검색후에 수정을 다 해보았는데 다음 단계로 넘어갈수가 없네요 ㅜㅜ 인텔리제이 무료버전 사용중이며 무료버전에서는 인텔리제이 오류가 있다는것을 보고 gradle로 변경하였습니다. (gradle이나 IntelliJ IDEA이나 오류는 같습니다!) 원래 자바 17버전을 사용중이였고 11버전으로 변경한 상태입니다. war로 설정했습니다. Execution failed for task ':ServletApplication.main()'.> Process 'command 'C:/Program Files/Java/jdk-11.0.2/bin/java.exe'' finished with non-zero exit value 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.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
constructor 생성 후
안녕하세요 Constructor 생성 후 강의에서는 memberService가 빨간줄인데 저는 빨간줄이 안나옵니다. 혹시 이유가 있을까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
static 내부클래스의 인스턴스화에 대한 질문
화면에서 Hello class를 static으로 정의한 이유가 따로 있는 건가요??? "helloApi 메서드" 블록 내부 첫줄에서. new연산자를 통해, Hello 인스턴스를 만드는데, 그러면 Hello class는 굳이 static이 아니라, static을 지워버려도 상관 없을거 같다는 생각이 들어서요. 혹시 static을 붙인 이유가 따로 있는 건가요? 소스에서 static을 지워버려도 구문오류같은건 보이지 않더라구요. 제 자바 문법의 깊이가 얕아서 그런지 몰라도, static으로 정의한 메서드나 클래스 같은 경우, 보통 인스턴스화 시키지 않는것 같아서요 그리고 Hello class가 static으로 정의되어 있어서, 별도의 인스턴스 생성없이, Hello.setName()으로 접근가능할 줄 알았는데... 구문오류가 발생하던데... 이건 왜일까요...? [
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
쓰레드 풀 관련 질문 드립니다.
쓰레드 풀 관련해서 질문드립니다.강의 예제에서 HTTP 요청이 들어온경우 연결 이후 쓰레드 풀에서 쓰레드를 할당해주는 것 이라고 이해했는데. 문득 이런 궁금점이 들었습니다.요청이 들어왔을 때 '연결'을하고, 이에 대한 '응답' 을 하는 것도 쓰레드가 해줘야 하는 일이 아닌가요? 프로세스의 가장 작은 단위 이기 때문에 이런 '연결' 과 '응답'도 쓰레드가 결국해줘야 한다고 생각했습니다 그렇다면 이런 연결과 응답을 책임지는 쓰레드도 톰캣 내부에 있는 (쓰레드 풀)에 있는 쓰레드를 쓰는건가요..?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
일부 파일에서는 파라미터가 필요없을경우 어떻게하는게 맞을까요?
강의의 base와같은 기본 레이아웃이 있으며 파라미터 a,b,c를 받습니다 또한 이것을 호출 하는 html파일 a,b,c가있습니다 a와 c에서는 세가지 파라미터를 다 넣어주지만 b에서는 파라미터중 하나만을 사용해서 나머지 두 파라미터를 넘겨주지 않으려고합니다 넘겨주지 않는다면 에러가 나고 파라미터를 넘겨주기 위해 무의미한 태그를 두개 만들자니 좋지않아 보이는데 어떤식으로 하는게 적당할까요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
아규먼트 리졸버를 이용한 로그인 처리 관련 질문 입니다.
안녕하세요. 두 가지 궁금한 점이 있는데요. 우선, 컨트롤러가 RequestBody 나 HttpEntity 로 파라미터를 받을때는 아규먼트 리졸버가 항상 메세지 컨버터를 사용했었는데요. ArgumentResolver 강의에서는 아규먼트 리졸버가 세션으로 부터 Member 객체를 꺼내서 넘겨주는 시점에서 이미 컨트롤러에서 받는 Member 객체와 이미 타입이 일치하기 때문에 메세지 컨버터가 하는 역할은 여기서는 필요없다고 보면 될까요? 두번째 질문은, 인터셉터에서 이미 로그인 체크를 해서 로그인이 안되었을 경우 로그인 페이지로 리다이렉션을 하고 있는데 컨트롤러내에서 굳이 loginMember == null 을 체크해서 리다이렉션을 다시 처리해 주어야 하는지 궁금합니다. 실무에서는 로그인이 필요한 요청 핸들러 메소드에서는 로그인 체크가 이미 인터셉터에서 처리 되고 비인증 사용자는 인터셉터에서 걸러져서 핸들러 어뎁터 까지 오지 않는게 바람직한 처리라고 보면 될까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@ModelAttribute 와 @RequestBody 질문입니다.
안녕하세요. 강의를 보다가 아직 모호한 부분이 있어서 질문 드립니다. @RequestBody는 Http Message Body 정보를 편리하게 조회할 수 있고 @ModelAttribute 는 파라미터 객체를 생성한 후에 setter를 호출해서 값을 binding 해준다고 하셨는데 그렇다면 @ModelAttribute는 HttpServlet의 기능을 사용하는 거고(get일때는 쿼리스트링 post일때는 Json), @RequestBody는 보내져오는 body 내용을 Json 형태인지 판별하고 보내주는 역할을 한다고 생각하면 될까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
미인증 사용자 요청에대해서 redirect 할 때
httpResponse.sendRedirect("/login?redirectURL=" + requestURI); 라고 되어있는데 queryString의 key 값을 URL로 하는거랑 URI 로 하는거랑 뭐가 더 적절한가여? 강의에서 URL이라했으니 그냥 URL로 적어주면 될까여? 왜냐면 변수명은 requestURI라고 해놓으셔서 궁금해요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
여러 개의 쓰레드 풀을 특정 업무에 배정할 수도 있나요?
쓰레드 풀을 마련해 백엔드 was를 운영한다고 하셨는데,이 쓰레드 풀을 특정 기능별로, 요청별로 나눠 여러 쓰레드 풀을 만들어 둘 수도 있나요? 예를 들면 결제 요청들만 처리하는 쓰레드 풀 A와 회원 정보 관리 요청들만 처리하는 쓰레드 풀 B가 있는 것이죠!