묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 등록 강의 질문있습니다.
상품 등록 강의 5분부터 form을 넘겨줘서 추적이 가능하다고 하셨는데요.model.addAttribute("form", new BookForm()); form 이부분이 html의 form부분과 이름이 같아서 추적이 가능한건가요?
-
미해결스프링 핵심 원리 - 기본편
필드 주입
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다른 필드 주입 관련 게시글을 다 보고 왔는데 제가 이해한 것이 맞는지 모르겠습니다. 강의에서 나온 코드를 보면 nullpointexception이 발생한다고 했는데 생각하기엔 그렇구나 하는데 뭔가 완벽히 이해가 안갑니다. 그리고 외부에서 변경이 불가능 하다고 했는데 생성자 주입에서 변경이 불가능 한 것과는 다른 건가요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
13분 11초에서 최근 파일 보는 단축키
강사님 안녕하세요, 강의 잘듣고 있습니다. 디버깅하면서 내용을 이해하려고 하는데 따라가기가 조금 벅차네요. 13분 11초 대에 Recent files 검색하는 부분 윈도우 단축키가 무엇인지 궁금합니다. 좋은강의 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Repository Test에 관해서 질문 드립니다.
강의 다 보고 코드 복습하고 있는데 Repository 테스트를 진행한 걸 보고 의문점이 들었습니다.처음에 Jdbc, Jpa 등 DB 연결을 하지 않았을 때는 아래처럼 메소드 구현하고 테스트 한 것으로 이해했습니다.(1) DB와 연동되어있지 않은 클래스 테스트 (in-memory-database(IMDB))MemberRepository -> MemoryMemberRepository 구현 -> MemoryMemberRepositoryTest 테스트그렇다면 만약 Jpa를 구현하게 된다면 어떻게 테스트를 진행해야 할지 궁금합니다.Jpa를 사용하는 Repository인 경우 별개로 IMDB에서만 단위/통합 테스트를 진행하는 것이 좋을까요? 테스트를 어떻게 해야할지 생각해봤는데 (1), (2) 둘 중에 어느 방안으로 진행해야 할까요?(2) Jpa로 구현되어있는 클래스 테스트MemberRepository -> JpaMemberRepository 구현 -> JpaMemberRepositoryTest 테스트 그리고 Repository로 단위 테스트 진행 후, 통합 테스트도 진행이 필요한지 궁금합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ServletApplication 실행 안됨
현재 HTTP 요청 데이터 - 개요를 듣고 있습니다.강의 초반부인데 ServletApplication 실행이 아래의 오류는 아닌데 서버가 띄어지지 않고 바로 종료가 됩니다 2024-04-19T15:53:01.823+09:00 INFO 17800 --- [servlet] [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 17.0.10 with PID 17800 (C:\Users\uniti\OneDrive\바탕 화면\Developer\Back End\Spring\core\mvc1\servlet\servlet\out\production\classes started by uniti in C:\Users\uniti\OneDrive\바탕 화면\Developer\Back End\Spring\core\mvc1\servlet\servlet)2024-04-19T15:53:01.830+09:00 INFO 17800 --- [servlet] [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default"2024-04-19T15:53:03.289+09:00 WARN 17800 --- [servlet] [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Instantiation of supplied bean failed2024-04-19T15:53:03.309+09:00 INFO 17800 --- [servlet] [ main] .s.b.a.l.ConditionEvaluationReportLogger :Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2024-04-19T15:53:03.364+09:00 ERROR 17800 --- [servlet] [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Instantiation of supplied bean failedat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1223) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1161) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:202) ~[spring-context-6.1.6.jar:6.1.6]at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:788) ~[spring-context-6.1.6.jar:6.1.6]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:606) ~[spring-context-6.1.6.jar:6.1.6]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.5.jar:3.2.5]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.5.jar:3.2.5]at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.5.jar:3.2.5]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.5.jar:3.2.5]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.5.jar:3.2.5]at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[classes/:na]Caused by: java.lang.NoClassDefFoundError: jakarta/servlet/annotation/WebServletat org.springframework.boot.web.servlet.WebServletHandler.<init>(WebServletHandler.java:39) ~[spring-boot-3.2.5.jar:3.2.5]at org.springframework.boot.web.servlet.ServletComponentRegisteringPostProcessor.<clinit>(ServletComponentRegisteringPostProcessor.java:62) ~[spring-boot-3.2.5.jar:3.2.5]at org.springframework.boot.web.servlet.ServletComponentScanRegistrar$ServletComponentRegisteringPostProcessorBeanDefinition.lambda$getInstanceSupplier$0(ServletComponentScanRegistrar.java:94) ~[spring-boot-3.2.5.jar:3.2.5]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainInstanceFromSupplier(AbstractAutowireCapableBeanFactory.java:1257) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:951) ~[spring-beans-6.1.6.jar:6.1.6]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1217) ~[spring-beans-6.1.6.jar:6.1.6]... 16 common frames omittedCaused by: java.lang.ClassNotFoundException: jakarta.servlet.annotation.WebServletat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na]... 22 common frames omitted
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
pdf 파일 수정 부탁드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]2. 서블릿 pdf 파일에서 HTTP 요청 메시지 로그로 확인하기 부분에logging.level.org.apache.coyote.http11=debug 라고 되어 있어요근데 스프링 3 버전부터는 debug가 아니라 trace로 해야 적용이 되더라구요 그 부분 추가해주시면 다른 분들한테 도움될 거 같아요!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
mvc1편 model추가 - v3 오류 좀 확인해 주세요
링크 제한 풀어서 다시 질문 드립니다. v3의 회원가입을 실행하면 아래 오류가 뜹니다.localhost 페이지를 찾을 수 없음다음 웹 주소(http://localhost:8080/front-controller/v3/members/new-form)에 대해 발견된 웹페이지가 없습니다.HTTP ERROR 404 frontcontroller의 service가 두번 실행되는거 같습니다. (디버그 출력내용)requestURI = /front-controller/v3/members/new-formcontroller = hello.servlet.web.frontcontroller.v3.controller.MemberFormControllerV3@71b85ab7requestURI = /front-controller/v3/members/WEB-INF/views/new-form.jsp링크>>https://drive.google.com/file/d/1Tnp-X-Ua_O6pdnICKzPTyrGKdsY4blNe/view?usp=sharing
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
MemberServiceTest에 관하여 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]MemeberServiceTest 다 돌려봤는데 outerTxOff_fail()만 에러 뜨는게 정상인거죠??
-
미해결스프링 부트 - 핵심 원리와 활용
왜 강의에서 웹서버라고 말씀하신건지 궁금합니다
ai가 계속 답변주니 답답하네요ㅠㅠ 웹 서버와 스프링 부트 소개 강의를 보면..웹어플리케이션 서버를 웹서버라 부르는 이유톰캣은 WAS인데 웹어플리케이션 서버인데..강의안에서 계속 WAS를 웹서버라고 하시는데이유가 뭔지 궁금합니다..WAS안에 웹서버가 들어있어서 그런건가요?요청 순서요청이 오면 무조건 웹어플리케이션 안의 웹서버로 요청이 먼저오고 그 요청을 서블릿 컨테이너로 다시 넘기는 건가요? 3. 웹서버가 2개 인경우마지막 그림을 보시면 웹서버가 외부에 하나 있고 그 요청이WAS로 들어가는데 WAS 안에 는 사실 또 하나의 웹서버가 있지 않나요? 그러면요청 순서가클라이언트 - 외부 웹서버 - 내장 웹서버 - 서블릿컨테이너 - 스프링 이런식으로 흘러갈까요..?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
유연한 핸들러 - v5 프로그램이 죽습니다.
v5를 실행하면 아래 메세지를 남기고 프로그램이 죽어버립니다.링크 https://drive.google.com/file/d/14IcS9ki4CY--fXaF37H7_wonu9z67LJ9/view?usp=sharing
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
servlet members 저장
http://localhost:8080/servlet/members/new-form 에서 전송버튼을 눌렀을 때 http://localhost:8080/servlet/members/save 으로 넘어가지 않고새 창에서 file:///Users/.../Downloads/save 로 다운로드 파일로 새로운 url 에서 열리는데이유가 무엇인가요??
-
미해결스프링 부트 - 핵심 원리와 활용
왜 웹서버라고 하나요?
웹 서버와 스프링 부트 소개 강의를 보면..웹어플리케이션 서버를 웹서버라 부르는 이유톰캣은 WAS인데 웹어플리케이션 서버인데..강의안에서 계속 WAS를 웹서버라고 하시는데이유가 뭔지 궁금합니다..WAS안에 웹서버가 들어있어서 그런건가요?요청 순서요청이 오면 무조건 웹어플리케이션 안의 웹서버로 요청이 먼저오고 그 요청을 서블릿 컨테이너로 다시 넘기는 건가요? 3. 웹서버가 2개 인경우마지막 그림을 보시면 웹서버가 외부에 하나 있고 그 요청이WAS로 들어가는데 WAS 안에 는 사실 또 하나의 웹서버가 있지 않나요? 그러면요청 순서가클라이언트 - 외부 웹서버 - 내장 웹서버 - 서블릿컨테이너 - 스프링 이런식으로 흘러갈까요..?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build 를 왜 cmd에서 해야하는건가요?
gradlew build 를 왜 cmd에서 해야하는건가요?편리해서 그렇게 하는건지인텔리제이 안에서 세모버튼 누르면 되는데 왜 cmd에 하는지 모르겠어요수업자료에 나와있는것처럼 똑같이 실행했는데강사님 화면이랑 다르고,로컬호스트도 안뜨고어떻게 하는건지 잘 이해가 안돼요
-
미해결스프링 부트 - 핵심 원리와 활용
왜 웹서버라 하나요?
웹 서버와 스프링 부트 소개 강의를 보면..웹어플리케이션 서버를 웹서버라 부르는 이유톰캣은 WAS인데 웹어플리케이션 서버인데..강의안에서 계속 WAS를 웹서버라고 하시는데이유가 뭔지 궁금합니다..WAS안에 웹서버가 들어있어서 그런건가요?요청 순서요청이 오면 무조건 웹어플리케이션 안의 웹서버로 요청이 먼저오고 그 요청을 서블릿 컨테이너로 다시 넘기는 건가요? 3. 웹서버가 2개 인경우마지막 그림을 보시면 웹서버가 외부에 하나 있고 그 요청이WAS로 들어가는데 WAS 안에 는 사실 또 하나의 웹서버가 있지 않나요? 그러면 요청 순서가클라이언트 - 외부 웹서버 - 내장 웹서버 - 서블릿컨테이너 - 스프링 이런식으로 흘러갈까요..?
-
미해결스프링 핵심 원리 - 고급편
JDK 동적 프록시 질문입니다.
JDK 동적 프록시 - 예제 코드해당 강의 수강 중 궁금한 게 있어 질문드립니다.해당 코드에서method.invoke(target, args); 메서드를 사용하여target의 인터페이스 메서드를 실행하게 되는데 target의 인터페이스에 메서드가 여러 개 존재할 시 어떤 메서드를 호출할지는 어떻게 결정하게 되나요?
-
미해결
강의 질문입니다.
@Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") // 맵핑된 거울. 여기에 값을 넣는다고해서 Foreign key 값이 변경되지 않음. private List<Order> orders = new ArrayList<>(); }위 코드에서, @GeneratedValue는 시스템상에서 생성되는 값이라는 의미의 어노테이션 맞나요? 그리고 Address 타입의 변수는 @Embedded인 이유가 무엇인가요?
-
미해결스프링 핵심 원리 - 기본편
구현체가 런타임에서 달라져야 하는 경우의 의존성 주입
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]요청의 타입에 따라 A요청은 ServiceA, B요청은 ServiceB등으로 런타임에서 구현체가 선택되어야 하는 경우에는 어떻게 해야할까요?예를 들어 주문 제휴사와 배달 대행사를 중계하는 서비스를 만들 때,배달 대행사의 배달 상태 변경 콜백을 주문 제휴사로 다시 콜백 API를 호출해야 하는데, 주문 제휴사 마다 특정한 동작이 필요해 구현체가 달라지는 경우 (ex. URL 차이, 필드값 차이 등) 어떻게 구현하는것이 옳은 방향일까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
자바 17로 프로젝트 생성 후 실행은 잘 되는데
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 자료에 제공되는 소스 코드는 자바 11 버전이라 잘 안 될 거 같아서https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2&unitId=83272&category=questionDetail&tab=community&q=1171198 이 방법대로 해서 실행은 정상적으로 됩니다. 폴더는 강의에서와 마찬가지로 form 폴더입니다.그런데 아래 사진처럼 item-serviceform [item-service] form이 아니라 item-service 이런 식으로 표시되는데, 앞으로 강의대로 진행하다가 나중에 문제 생길 여지는 따로 없을까요?맨 위의 item-service는 Project Structure에서 form으로 바꾸면 변하긴 하던데 아래에 있는 form [item-service]는 어떻게 바꾸는지 모르겠네요.. Refactor - Rename으로 해도 똑같습니다. settings.gradle을 수정했더니 갑자기 실행이 안 되길래 무서워서 그냥 원래대로 바꿨고요.. 그냥 안 바꾸고 해도 강의 따라 하는 데 지장 없을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
db사용시에 그냥 워크벤치로 해도되나요?
db사용시에 그냥 워크벤치로 해도되나요?그럼 따로 인텔리제이랑 연결하는건 없는건지 궁금합니다
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
완성 코드에도 도서관 프론트엔드 소스가 html 파일에 안보이는데
7강 듣는 중에 갑자기 완성된 도서관 UI를 보여주셨는데 해당 index.html에는 해당 소스 코드가 확인이 안되는데 어디서 소스코드를 얻을 수 있는건가요 ? 아니면 뒤에서 같이 개발을 하는건가요 ? 완성본 소스 코드에서도 index.html 에서 해당 ui 코드 확인이 안되어서 물어봅니다.