묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Model로 전달하는 것과, dto나 form을 만들어 전달하는 것
Dto로 전달하지 않고 model로 전달하는 경우는 어떤 상황에서 하는 건가요 ?? 프로젝트를 하다보면 무조건적으로 dto로 전달했어서 궁금합니다... 같은 맥락으로 form데이터도 차이가 있나요 ???
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
테스트케이스 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요! 강의 잘 듣고 있는 학생입니다.빌드 및 실행은 intellij 로는 안되고 gradle로 해야 실행이되고,테스트케이스실행은 gradle이 아닌 intellij로 적용해야 실행이 되는데 이유가 뭔지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JdbcTemplate강의 중복_회원_예외() 테스트 오류
DB교체 후 MemberServiceIntegrationTest 시 자꾸 아래와 같은 오류가 발생합니다.구글링을 해보니 async 들어가서 메세지 안뜨게 체크 해제하는 것과 여러 방법을 해봤는데 지속적으로 저 메세지가 뜹니다..ㅠㅠ도움주시면 감사하겠습니다.상세 오류 내용 . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.2)2024-03-06T13:03:25.170+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : Starting MemberServiceIntegrationTest using Java 17.0.10 with PID 29080 (started by wlwlg in C:\개인공부\Back-End\Spring\hello-spring\hello-spring)2024-03-06T13:03:25.171+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : No active profile set, falling back to 1 default profile: "default"2024-03-06T13:03:26.078+09:00 INFO 29080 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2024-03-06T13:03:26.510+09:00 INFO 29080 --- [ main] h.h.S.MemberServiceIntegrationTest : Started MemberServiceIntegrationTest in 1.536 seconds (process running for 2.262)2024-03-06T13:03:26.549+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2024-03-06T13:03:26.606+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/test user=SA2024-03-06T13:03:26.607+09:00 INFO 29080 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appendedorg.opentest4j.AssertionFailedError: Expected java.lang.IllegalStateException to be thrown, but nothing was thrown. at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:152) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:73) at org.junit.jupiter.api.AssertThrows.assertThrows(AssertThrows.java:35) at org.junit.jupiter.api.Assertions.assertThrows(Assertions.java:3115) at hello.hellospring.Service.MemberServiceIntegrationTest.중복_회원_예외(MemberServiceIntegrationTest.java:54) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)2024-03-06T13:03:27.222+09:00 INFO 29080 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2024-03-06T13:03:27.227+09:00 INFO 29080 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.Process finished with exit code -1
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
applications.properties 파일이 작동하지않는거같습니다.
[질문 내용]안녕하세요 applications.proproperties에 있는 코드들이 그냥 회색 글자로 나오고 MemberServiceIntegrationTest을 실행하면 정상적으로 pass가 되긴하지만 다음과 같은 WARNING 문구가 나옵니다. WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseJava HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been...이게 intellij 가 무료판이라 properties파일이 작동안하고 적런 문구가 뜨는건가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 서비스 계층에서의 문제
트랜잭션을 리포지토리 말고 서비스 계층에 달면 문제가 생기네요ㅠㅠorg.springframework.dao.InvalidDataAccessApiUsageException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call; nested exception is javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call 서비스 계층서 클래스레벨에 트랜잭션 달고 실행시 이렇게 ..나오는데 레포지토리에달면 잘 동작하는데.. 서비스 계층에 달면 왜그런걸까요..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이에서 실행이 안돼요
===============================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]인플리제이에서 실행이 안돼요
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류 html 페이지 응답 시 상태 코드 지정하는 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]개발자는 오류 html 페이지 응답으로 예외를 처리할 때 /error/4xx.html , /error/500.html 와 같은 경로에 html 페이지를 생성하기만 하면 된다고 이해하였습니다. 그러면 예외가 발생했을 경우 오류 html 페이지 응답으로 예외를 처리하고자 할 때, 발생된 예외에 대한 상태 코드를 지정해줘야 지정된 위치로 올바른 상태 코드에 대한 오류 페이지가 출력되므로, 상태 코드를 지정하는 방법은 HandlerExceptionResolver을 구현하여 오버라이딩 한 resolveException() 내부에 response.sendError()로 상태 코드를 지정하고 빈 ModelAndView 객체를 리턴하는 게 최선일까요?? 아니면 다른 상태 코드 지정 방법이 또 있을까요?? 물론 @ExceptionHandler을 통하여 @ResponseStatus로 상태 코드를 지정해서 구현할 수도 있을 것 같긴 하지만 선생님께서 @ExceptionHandler는 API 예외 처리일 때 쓰는 것이 좋다고 하셔서 질문드립니다 !
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
GetMapping에대해서 질문
엄청 기본적인건데...이전 강의노트를 찾아봐도 내용 정리가 안되서 질문합니다.@Controller @RequestMapping("/basic") public class BasicController { @GetMapping("text-basic") public String textBasic(Model model) { model.addAttribute("data", "Hello Spring!"); return "basic/text-basic"; } @GetMapping("text-unescaped") public String textUnescape(Model model) { model.addAttribute("data", "Hello <b>Spring!</b>"); return "basic/text-unescaped"; } }여기서 RequestMapping 이 basic 폴더를 매핑해주는거고GetMapping 은 /basic/ 에 있는 파일?과 매핑해주는게 맞나요?? 추가적으로 return 하는게 view 인걸로 아는데 model 값을 추가해서 전달해주기 위해 view 를 리턴하는게 맞는지 질문드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
template에 파일을 추가하는 이유
index.html 은 static 경로에 두고, 그외에 추가하는 파일은 template 경로에 두는데 무슨 차이가 있는지 알고 싶습니다. 왜 template 경로에 두어야 또 파일을 읽어가는 것인지 궁금해서 질문 드립니다. 매우 기초적인 거같은데 까먹어서 질문드려요...
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HttpServletRequest 동일 인스턴스 질문
View 분리 - V2 강의에서 질문 사항이 있습니다.아래 MyView 객체에서 사용하는 HttpServletRequest request 라는 인자값과MemberSaveController에서 사용하는 HttpServletRequest request가 디버깅에서 확인하면 동일한 인스턴스인것으로 확인됩니다.이는 HttpServletRequest 도 서블릿 객체이고 싱글톤으로 관리되어서 동일한 인스턴스로 공유되는 것일까요?아니라면 해당 소스에서 확인할때 두개의 인스턴스가 동일한 이유가 무엇일까요?@6666번으로 동일한 인스턴스 객체였습니다.public class MyView { private String viewPath; public MyView(String viewPath) { this.viewPath = viewPath; } public void render(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request,response); } }public class MemberSaveControllerV2 implements ControllerV2 { MemberRepository memberRepository = MemberRepository.getInstance(); @Override public MyView process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username,age); memberRepository.save(member); request.setAttribute("member",member); return new MyView("/WEB-INF/views/save-result.jsp"); } }
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 타임아웃 관련 질문드립니다
안녕하세요 세션 타임아웃 설정 파트를 공부하다 궁금한 점이 생겨 질문드립니다.강의에서는 HTTP는 비연결성이어서 서버 입장에서는 사용자가 웹 브라우저를 종료한 것인지 알기 어려움으로 세션 종료시점을 정해줘야 한다고 이해했는데요그런데 일반적으로 네이버 같은 특정 사이트에 로그인하고 브라우저를 껐다 바로 켜면 로그아웃이 되어있는데 이런 경우엔 어떤 매커니즘으로 세션 데이터가 삭제되는지 궁금해 질문드립니다
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터의 afterCompletion에서는 예외를 처리해주진 못하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]afterCompletion 구현 코드 결과 화면사진과 같이 afterCompletion()에서 예외 처리 부분에 response.sendError(200)을 해도 예외가 500으로 나가는 걸 확인할 수 있었습니다.@ControllerAdvice 어노테이션을 지정한 클래스 및 제가 구현한 ExceptionResolver들은 전부 주석처리 하여서 HandlerExceptionResolver 단계에서 예외 처리 실패했으니 500 Internal Error이 나가는 것은 맞지만,최종적인 단계에서 필터링 해주는 인터셉터인 afterCompletion()에서 sendError()을 지정하면 WAS는 지정된 상태 코드의 예외 처리를 해줘야하지 않나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 가입 run 했을 시 DB 저장 안돼요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영상 속 6분 20초경 @Transactional을 주석 처리 한 후 회원가입 run 했을 시 DB에 데이터가 들어가지 않습니다
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
file.dir에 계속 null값이 들어옵니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진이 저장되지않아 확인해보니 fileDir에 계속 null값이 들어와 fullPath가 제대로 생성되지 않아서 라는 걸 알게 되었습니다. 오타를 찾다가 보이지않아서 영한 강사님 파일을 그대로 복사 붙여넣기 했는데도 계속 null값이 들어옵니다 ㅠㅠ 왜이럴까요? fileDir에 경로를 바로 집어넣으면 파일이 잘 저장됩니다.구글 드라이브 링크 댓글에 달아놓겠습니다 ㅠㅅㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 시퀀스 JDBCRepository 변경 오류
안녕하세요 선생님의 강의를 수강하며 잘 따라가며 학습 중입니다.DB연결도 잘되고, insert도 잘되는데 시퀀스 값이 이상하게 나옵니다.ㅠㅠ3이 자꾸 고정적으로 뜨고 3,4,5,6.. 증가하는데.. 원인이 뭘까요??ㅠㅠ도와주세요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Bean과 컴포넌트 스캔 차이에 대해
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 강의 내용과 관련된 질문인가요? 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 SpringConfig 클래스에 bean 주입하고 관리하면 추상화의 장점을 살릴 수 있다고 하면 Service단이나 repository 단에 @Service와 @Repository로 컴포넌트 스캔을 하는 것보다 SpringConfig 클래스에서 @Bean으로 클래스들 관리하는게 더 좋은가요?? 실무에서는 @Bean을 통해서 스프링 빈에 직접 주입하고 관리하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
영한님께서 버전을 올려가며 가르쳐주시는데
그 버전들을 모두 꿰뚫고 있어야 할까요, 이런 과정이 있었다 정도로만 알고있으면 될까요? 어느정도의 학습이 필요할지 궁금합니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
Oracle을 연결하고 싶은데, sql파일을 만들고나면...
Oracle을 연결하고 싶은데, sql파일을 만들고나면... 상단창에 Type을 Oracle로 지정해도 Name과 Database가 뜨지 않습니다. lib 폴더 만들어서 ojdbc6.jar 드라이버도 넣어 놨고, tnsnames.ora에 XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 127.0.0.1) (PORT = 1521) ) (CONNECT_DATA = (SERVER = dedicated) (SERVICE_NAME = orcl) ) )도 추가해두었습니다.pom.xml에는 다음과 같이 dependency도 추가하였습니다.<!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.2</version> </dependency> 뭐가 문제일까요 선생님?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
메서드 구현부 이동
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 컴포넌트 스캔과 자동 의존관계 설정 영상 학습중 강사님은 메서드에 파란 밑줄이 그어져 클릭하면 구현부로 바로 이동 하는 걸 봤는데 제 인텔리제이 코드에는 밑줄이 그어지지 않아 클릭을 해도 이동이 안됩니다. 저는 command + b 단축키로 이동하는데 혹시 저렇게 뜨게 할려면 어떻게 해야 하는지 알 수 있을까요저는 ultimate 버전을 사용중인데도 안 뜨네요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
logging.level.org.apache.coyote.http11=debug 설정 적용이 안되는 것 같습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의 내용대로 logging.level.org.apache.coyote.http11=debug 설정을 적용하였는데 콘솔에 관련 로그가 출력이 안됩니다. 스프링부트 버전업 이후에 더이상 해당 설정을 지원 안하는걸까요?스프링부트 버전 : 3.2.3패키징 : War자바 버전 : 17의존성 : 강의에 나온대로 추가했습니다빌드 및 실행, 테스트 : 인텔리제이요청 url : http://localhost:8080/hello?username=김아래는 설정 적용 후 로그 출력 사진입니다