묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이미지 보여주기 @ResponseBody
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.downloadImage 메소드 작성할때 위에 @Responsebody사용한 이유가 이미지를 리턴하기 위해서 사용한게 맞나요 ?그리고 다른 방법은 어떤게 있나요 ?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost8080 에서 json 경로만 500 서버 오류가 납니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 수업 잘 따라오면서 나머지 강의들은 잘 프로그램이 작동했는데 HTTP요청 데이터 -API 메시지 바디 -JSON강의 실습이후 json요청 페이지에서만 오류가 뜨고 localhost8080에서는 백지 화면이 뜹니다 제가 무지해 혹시 오류가 따로 있을거같아 컴파일보드 메모장으로 첨부해봅니다.. 오후 11:15:43: Executing ':ServletApplication.main()'... > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :ServletApplication.main() . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.2) 2024-01-22T23:15:44.017+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 21.0.1 with PID 4424 (C:\Users\�赿��\Desktop\Spring-mvc\servlet\build\classes\java\main started by �赿�� in C:\Users\�赿��\Desktop\Spring-mvc\servlet) 2024-01-22T23:15:44.018+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default" 2024-01-22T23:15:44.667+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2024-01-22T23:15:44.676+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-01-22T23:15:44.677+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.18] 2024-01-22T23:15:44.711+09:00 INFO 4424 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-01-22T23:15:44.712+09:00 INFO 4424 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 652 ms 2024-01-22T23:15:44.787+09:00 INFO 4424 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html] 2024-01-22T23:15:44.968+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' 2024-01-22T23:15:44.973+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 1.2 seconds (process running for 1.426) 2024-01-22T23:15:49.563+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0] 2024-01-22T23:15:49.564+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET / HTTP/1.1 Host: localhost:8080 Connection: keep-alive Cache-Control: max-age=0 sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: none Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.583+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN] 2024-01-22T23:15:49.598+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.599+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [GET /favicon.ico HTTP/1.1 Host: localhost:8080 Connection: keep-alive sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 sec-ch-ua-platform: "Windows" Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: image Referer: http://localhost:8080/ Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [604] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN]
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JdbcTemplate - 이름 지정 파라미터 1 강의 내용 중 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]2:48분쯤에 버그가 일어났을 때 실무에서는 데이터베이스의 데이터를 복구할 때 다시 버그가 일어난 시점으로 데이터베이스를 다시 되돌릴 수 있나요? 롤백기능같은걸 실무에서 쓰는지 강의를 듣다가 궁금해서 질문해봅니다!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
IDE에서 파라미터 정보 확인
안녕하세요크게 문제는 안되지만 궁금해서 질문 드립니다! 파라미터 확인해보면 이렇게 잘 나올 때가 대부분 인데 이렇게 시멘틱하지 않게 s1, s2, ... 식으로 표현될 때가 있어서IDE 문제나 버전문제일까요? 설정문제일까요? 혹시 알고 계신지 궁금합니다!!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바 기초 듣고 넘어왔는데
스프링 설치를 어떻게 해야할까요 영상은 몇년전 영상같은데 저는 맥북이라 어떻게 진행해야할지 모르겠네요
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
직접 만든 프레임워크 -> 스프링 MVC 비교 pdf 부분 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]5. 스프링 MVC - 구조 이해.pdf의 2페이지에 나온 내용인데handlerMappingMap -> HandlerMapping이 부분은 이 두 개가 정확히 대응되지는 않는 거죠? 프론트 컨트롤러 V5에 있는 코드입니다.private final Map<String, Object> handlerMappingMap = new HashMap<>(); private final List<MyHandlerAdapter> handlerAdapters = new ArrayList<>();프론트 컨트롤러 V5의 handlerMappingMap와 handlerAdapters는DispatcherServlet 코드를 보니 왠지 handlerMappings와 handlerAdapters가 대응되는 것 같고,DispatcherServlet의 HandlerMapping 인터페이스와 대응되는 건 프론트 컨트롤러 V5에는 없는 상태라고 이해하면 될까요? 간단한 질문이지만 pdf를 제가 잘못 이해했을까 봐 질문드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 입력 시 에러가 납니다
검색해보니 여러 상황이 있어 java 폴더에 있는 것도 확인했고 오타도 없는거 같은데 왜 작동이 안 될까요...?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우에서 빌드 이후에 오류가 발생합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이런 오류가 발생하는데 이거는 버전이 안맞아서 발생하는건가요??
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
SQLException 질문
Service코드가 JDBC에 의존적이라 스프링이 제공하는 PlatformTransactionManager 인터페이스에 의존하게 바꿨는데 그러면 SQLException 예외도 없어도 되나요 ?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
connection total 개수에 대한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @Testvoid dataSourceConnectionPool() throws SQLException, InterruptedException {//커넥션 풀링 : 히카리 풀 사용 HikariDataSource dataSource = new HikariDataSource(); dataSource.setJdbcUrl(URL); dataSource.setUsername(USERNAME); dataSource.setPassword(PASSWORD); dataSource.setMaximumPoolSize(10); //pool사이즈 최대 지정 dataSource.setPoolName("MyPool"); //pool이름 설정 useDataSource(dataSource); Thread.sleep(1000); //pool에 추가하는 것까지 log로 확인하기 위해서 지연시간 추가} 다음과 같이 코드를 작성하였는데 My Pool의 개수가 강의에서와 다르게 설정됩니다.setMaximumPoolSize을 10으로 맞췄는데도 다른 이유가 무엇인가요? Thread.sleep(1000);을 1000 -> 10000으로 늘리니 활성화되는 커넥션이 늘어나던데 이 시간과 관련있는건가요?
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
스프링 시큐리티 로그인 후 모달창 질문드립니다
(선생님 아래 댓글에 나름대로 해결책 적어놓았습니다!) 선생님 안녕하세요.기존 로그인 방식을 session에서 security로 바꾸면서 로그인에 성공하면 RedirectAttribute를 이용한 모달창 띄워주기는 어떻게 해야 하는지 고민됩니다.시큐리티 내부에서 /login.do 요청을 처리해주니 왠지 시큐리티 내부 필터에 설정을 해줘야 하나? 라는 생각이 듭니다.로그인에 실패하면 시큐리티에서 error를 파라미터를 넘겨주니, 로그인 성공 시 특정 파라미터를 1회성으로 넘겨주는 것이 있을까? 라는 생각도 듭니다.아니면.. 시큐리티로 로그인에 성공하는 순간 url경로를 설정하여 특정 컨트롤러에서 받아줘서 그곳에서 redirect를 해줘야 할까요? 아래의 사진은 기존 로그인 방식에서 RedirectAttributes의 addFlash를 이용한 참고사진입니다.감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
8분에 실행 테스트 하는데 뭐가 문제인지 모르겠어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 실행되다가 중간에 오류가 발생하는데 이게 어떤 오류인건지 잘 모르겠습니다.아시는 분 계실까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 시간 추출 실시간 반영
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의 잘 듣고 있는 수강생입니다.AOP 적용 강의 6분30초 쯤 이나 그 이전에도 보면, 강사님이 localhost:8080 에서 회원목록 같은 곳 들어가실 때나 뭔가 접속할 때마다 실시간으로 인텔리제이에 START시간과 END시간이 반영이 되어서 나오는데 저는 그냥 이미지 처럼 처음 실행했을 때만 실행시간이 나올 뿐 그 이후부터는 아무것도 변화하지 않습니다.. 실시간으로 반영이 안되는 것 같아요 이유가 뭘까요? (TimeTraceAop부분은 강의노트와 똑같습니다. 혹시 몰라서 복붙했습니다)
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
마프시리즈가뭐에요??
새소식을 통해 오랜만에 새로운강좌가 출시된다는이야기를 알게되었습니다. 그중에 마프시리즈가 3월에 오픈한다고 들었는데 자바 스프링관련 강좌인지요?? 제가 알기론 강사님께서 스프링부트로 여러가지 기능구현을 가르치는 포토폴리오 강의 출시한다고 1년전에 말씀하신기억이있는데 그건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중복회원, 회원가입 오류
[질문 내용]https://drive.google.com/file/d/1UqI2_8bN8k4yq1Zww3OVkDLQ_yS_tsPS/view?usp=sharing 오류를 gpt 와 함께 찾아보니.. Autowired 주입하려는 필드가 빈으로 정의되어 있지 않다고 하는것 같더군요.ㅠ 그래서 의존성 주입이 되지 않는다고 합니다. 더하여서 JdbcTemplateMemberRepository 에 Autowired 어노테이션이 되지 않는 이유도 알고싶습니다. + 스프링 오류 코드를 gpt에 돌려보고 어떤 코드인지 보는 저인데.. WARNING 뒤에 있는 것을 확인하고 오류를 찾으시는 걸까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
process()의 매개변수
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]비슷해 보이는 질문들을 보긴 했는데 아직 잘 이해가 안 돼서 질문드립니다. SpringMemberListControllerV1에선 리턴 타입은 ModelAndView이고, 매개변수는 아예 없는데SpringMemberSaveControllerV1에선 리턴 타입은 ModelAndView로 똑같지만 매개변수 request와 response가 있어서 SpringMemberListControllerV1와 다릅니다. 스프링 MVC - 실용적인 방식 강의를 들어 보니 인터페이스로 고정되어 있지 않고 유연하게 설계되어 있기 때문이라는 것은 알겠습니다. 그러면 메서드의 오버로딩처럼 많은 매개변수 케이스들을 일일이 등록해져 있는 것이 아니라,매개변수로 들어올 수 있는 값들이 정해져 있고, 그것들을 개발자가 자유롭게 조합해서 매개변수로 지정하면 스프링이 알아서 판단할 수 있는 건가요? +) 하나 더 궁금한 건, 리턴 타입도 ModelAndView나 String이 아닌 다른 거로 자유롭게 바꿀 수 있을까요? 아니면 이건 정해져 있나요?
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
15:45 쯤에 "%"사용하는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]findByItemNameLike("%"+itemName +"%")여기에서 "%"를 넣어서 오류를 해결했는데 이게 잘 이해가 안됩니다.어디 부분에서 다시 공부할 수 있을까요??
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
@Transactional의 유무에 따른 프록시 생성이 궁금합니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]7:20 쯤에 @Repository 제거 시에도 프록시가 적용되는데영한님께서는 @Transactional때문에 프록시가 동일하다고 하셨는데 트랙잭션 커밋이 된 상황이라서 그렇게 말씀하신 건가요?@Transactional의 유무와 프록시 생성에 연관관계가 궁금해요
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
라이브러리 추가하는 법은 어디서 알 수 있나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. gradle 추가 하실 때 4줄이나 추가 하시더라구요.//JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'jakarta.servlet:jakarta.servlet-api' implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //JSP 추가 끝 이렇게 추가해야 한다는 건 어디서 알 수 있나요? jakarta홈페이지를 봐도 영 알 수 가 없어서...MVNRepository에서 찾아도 한 줄 만 추가하는 거 밖에는 안 보이더라구요.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 통합 테스트 시 @Transactional로 DB를 롤백 시키는데 id는 여전히 건너뛰어지는 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 6의 JPA 강의를 듣다가 생긴 궁금증입니다! spring1이라는 멤버를 가입시키고 h2 콘솔을 통해 확인해보니 멤버 spring1의 id는 10이었다고 가정해보겠습니다. 이 직후에 스프링 통합 테스트에서 회원가입() 테스트 메서드를 한 번 돌리고, 다시 spring2라는 멤버를 가입시켜보면 멤버 spring2의 id 값은 11이 아닌 12가 됩니다.JPA가 보내는 insert 쿼리에선 id가 null로 넘어가니까 id 값을 부여하는 건 결국 DB라고 생각했는데 왜 테스트 후 롤백을 해도 11번 id가 건너뛰어지는 것일까요? 이 부분의 매커니즘이 궁금합니다!