묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
editForm 500에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.상품수정 실행시키면 이런 에러가 뜨네요 ㅠㅠ 해결방법을 도저히 못 찾겠습니다.@PathVariable(name="itemId") 로 바꿔도 똑같네요물론 @PathVariable(Long itemId,Model model) 이렇게 해도 똑같이 에러나요!! 2023-12-12T04:05:45.499+09:00 ERROR 89846 --- [nio-8080-exec-9] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not found in class file either.] with root causejava.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not found in class file either.at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:183) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.getNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:160) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:106) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:218) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:171) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.1.1.jar:6.1.1]at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.16.jar:6.0]at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.1.jar:6.1.1]at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.16.jar:6.0]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.1.jar:6.1.1]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.1.jar:6.1.1]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.1.jar:6.1.1]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Test findAll에서 해결법을 찾고싶습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]잘 따라하고 있었는데..TEST findAll에서 (),member1,member2,result에 왜 오류가 난지 잘 모르겠습니다 ㅠㅠ
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
start.spring.io 에서 자바 11 버전이 보이지 않습니다.
혹시 어떻게 하면 될까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WAS 장애 시 오류 화면도 노출 불가능의 의미
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]'WAS 장애 시 오류 화면도 노출 불가능하다'이 의미가 궁금합니다.5XX 메시지조차 보여줄 수 없다는 의미인가요?아니면 웹사이트에서 오류 화면을 직접 꾸며서 보여주는 것이 불가능할 뿐, 영어로 된 5XX 화면은 보여줄 수 있는 건가요?저는 후자일 것 같은데.. 맞는지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
경로설정
1.서버를 실행하니 url이 http://localhost:8080/templates/basic/text-basic 여기로 매핑되어있는데 강사님 화면은 http://localhost:8080/basic/text-basic으로 되어있는데 뭐가 문제인가요?모든 url에서 템플릿을 빼니까 화면이 출력되긴합니다코드도 다 똑같이 따라했는데 뭐가 문제인가요..?import lombok.Data; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @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 textUnescaped(Model model) { model.addAttribute("data", "Hello Spring!"); return "basic/text-unescaped"; } @GetMapping("/variable") public String variable(Model model) { User userA = new User("userA", 10); User userB = new User("userB", 20); List<User> list = new ArrayList<>(); list.add(userA); list.add(userB); Map<String, User> map = new HashMap<>(); map.put("userA", userA); map.put("userB", userB); model.addAttribute("user", userA); model.addAttribute("users", list); model.addAttribute("userMap", map); return "basic/variable"; } @Data static class User{ private String username; private int age; public User(String username, int age) { this.username = username; this.age = age; } } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
무언가를 띄우셨는데 무엇인지를 모르겠어요
갑자기 어떤 창을 띄우시더니 "그냥 빌드 하시면 돼요"라고 하시는데문맥상 윈도우와 다른 진행 방식인 것 같거든요해당 부분을 이해하기 위해서는 어떤 부분을 공부해야 될까요? 섹션1 프로젝트 환경설정의 3분짜리 '빌드하고 실행하기' 영상입니다 0:16 즈음이에요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
thymeleaf 에서 href 수정
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.href 부분만 수정 하였는데,이렇게 화면이 깨져버려요 왜 그런건가요 ㅠㅠ 디팬던시에 thymeleaf도 추가 돼 있는데href 수정 전에는 정상적으로 잘 나왔었어요 ㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 공부에 대한 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.이렇게 좋은 강의가 있는걸 지인을 통해 알게되어 이번주부터 듣고 있습니다. 아직 시작한지 얼마 안되어 스프링 입문에서 열심히 따라치면서 이런게 있구나 하고 있는 상황입니다.헌데 이 강의를 알기 전에 토비의 스프링 3.1이란 책을 샀거든요.불행중 다행인지 아직 포장을 뜯지 않았습니다. 1/2권 세트라 비닐 포장이 되어있거든요.이 강의를 듣는다면 토비의 스프링 3.1 세트 책까지 필요없을지 아니면 이 책도 보는게 좋을지 의견을 들어보고싶어 문의드립니다.이 강의로도 충분할듯하면(스프링하고 JPA 둘다 구매하였습니다) 책은 환불하려고 하거든요. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
기본생성자
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.1.상품 도메인 개발에서 기본생성자는 왜 만드는 건가요??2.그리고 왜 id 를 제외한 생성자를 만드는건가요?(id 제외 이유)
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
TransactionSynchronizationMaganger 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요~ repository은 TransactionSynchronizationMaganger를 통해 트랜잭션이 적용되어 기존의 커넥션이 존재하면 그 커넥션을, 트랜잭션이 적용되어 있지 않아 기존의 커넥션이 없으면 새로운 커넥션을 받아올텐데요. 트랜잭션이 적용되어 기존의 커넥션이 존재할 때, 그 기존의 커넥션을 식별할 수 있는 방법은 무엇인가요? 즉, TransactionSynchronizationMaganger는 각 서비스에서 사용중인 커넥션들을 어떻게 식별해서 각 서비스에 전달하는지 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 전파 2관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]MemberService에는 @Transcational를 한 상태이고 MemberRepository, LogRepository 에는 @Transactional 을 정의하지 않은 상태에서 joinV2 method 를 사용하고 log에서 예외를 발생하는 상황이 궁금해서 실행해 봤습니다.LogRepository 의 예외를 Service에서 잡았기 때문에 전체적으로는 commit 하는 상황을 예상하기는 했는데 LogRepository의 save에서 예외가 발생하기 때문에 Log find 테스트에서 isEmpty를 예상했는데 로그를 찍어보니 로그예외_outerTxOff_success row가 log table 에 insert가 되어있네요.logRepository에서는 runtime exception을 반환하는데 어떻게 log table에 로그예외... username이 insert되는 거죠?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
회원 저장인데 201 Created가 아닌 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 사진의 경우 회원 저장을 하는 상황인데응답 메시지가 201 Created가 아닌 이유가 뭔가요? 201 Created를 하기에 적절하지 않는 경우인지,아니면 201 Created를 해도 되는 상황이 맞지만, 그냥 200 OK로 한 건지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@InitBinder의 검증기 생성에 대해서
안녕하세요 해당 컨트롤러 안에 init()메서드가 있는경우 애노테이션Validated가 있는 메서드가 호출되는 경우만 init()가 호출 되는 건가요? 또 init가 호출될 떄마다 검증기도 새로 생성된다고 했는데 검증기도 객체인데 그 객체를 호출마다 새로 생성하고 리퀘스트 스코프 끝나면 검증기 객체가 자동 삭제되고 다른 호출일 때 또 새로운 검증기 객체가 생성되는 인식이 맞을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@PathVariable 관련 에러가 왜 발생했는지 궁금합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 "상품 상세" 강의를 들으면서 BasicItemController 안에 있는 @GetMapping("/{itemId}") public String item(@PathVariable Long itemId, Model model) { log.info("BasicItemController.item"); Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "basic/item"; }강의를 따라 위의 부분처럼 작성했을 땐java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not found in class file either.라는 에러가 발생하고 @GetMapping("/{itemId}") public String item(@PathVariable(name = "itemId") Long itemId, Model model) { log.info("BasicItemController.item"); Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "basic/item"; }이렇게 작성하니 에러가 해결되었습니다. 위 코드는 왜 에러가 났는 지 궁금합니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
model 및 BindingResult을 사용할 때
model이랑 BindingReulst로 오류처리 하는 부분을 뷰로 넘겨주는 로직에 관해서 질문입니다. 지금은 타임리프를 사용해서 model 등을 값을 받아서 화면에 출력하는데 사용을 하지만 나중에 프론트 프레임워크를 사용하는 경우 해당 검증 방법을 그대로 쓸 수 있나요?? 보통 json형태로 값을 보내주는 걸로 알고 있는데 그 경우 검증 로직은 프론트 단에서 하게 되는지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문말고 요청입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]수업이 주로 타임리프로 진행이되어 백엔드단에서 model이나 modelattribute를 많이사용하시는데요! 요새는 주로 템플릿엔진대신 spa를 많이사용하는걸고알고있습니다 혹시 강의에 중간중간 그럴경우에 어떤파라미터를 써야하는지 아니면 다른 방법을얗야하는지 혹은 별도 섹션 강의로 만들어주시면 좋은것 같습니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build 시 오류입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진과 같이 intelliJ 에서 JDK는 17로 맞춰놓았습니다.그래서 빌드도 성공적으로 잘됩니다. 하지만 빌드 후, 제 로컬환경에서CMD에서위와같이 gradlew 입력시 ,아래와같은 오류가 뜹니다 ㅠ어떻게 해결할 수 있을까요?검색해서 해보라는 조치는 다해본상태입니다 ㅠ
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
@Bean 등록을 @SpringBootApplication 내부에서 해도 괜찮나요?
@Bean 등록은 일반적으로 @Configuration 애노테이션이 있는 설정 클래스 내부에서 이뤄지는 걸로 이해하고 있습니다.하지만 ItemServiceApplication 클래스를 보면 @Configuration이 아닌데도 TestDataInit가 @Bean으로 등록되고 있습니다.@Import(MemoryConfig.class) @SpringBootApplication(scanBasePackages = "hello.itemservice.web") public class ItemServiceApplication { public static void main(String[] args) { SpringApplication.run(ItemServiceApplication.class, args); } @Bean @Profile("local") public TestDataInit testDataInit(ItemRepository itemRepository) { return new TestDataInit(itemRepository); } } 찾아보니, @SpringBootApplication 애노테이션이 이미 암시적으로 @Configuration 애노테이션을 포함하고 있기 때문에 가능하다고 봤습니다.실제 @SpringBootApplication이 @Comfiguration을 포함하고 있어서 위 코드가 가능한 게 맞나요?그렇다고 해도 이미 @Configuration이 붙은 MemoryConfig가 이미 있는데, 왜 굳이 @SpringBootApplication 에서 빈으로 등록하려는 건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이렇게 쓰면 안되나요??
@Configuration public class WebConfig implements WebMvcConfigurer { @Autowired private FilterRegistrationBean<LogFilter> filterFilterRegistrationBean; @Bean public FilterRegistrationBean addFilter() { // FilterRegistrationBean<Filter> filterFilterRegistrationBean = new FilterRegistrationBean<>(); filterFilterRegistrationBean.setFilter(new LogFilter()); filterFilterRegistrationBean.addUrlPatterns("/*"); filterFilterRegistrationBean.setOrder(1); return filterFilterRegistrationBean; } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이 강의 전에 뭘 공부해야하나요? 무슨소린지 하나도 모르겠는데..
자바'만' 알아요. 입문강의라고 해서 들어봤는데 자바 처음 공부할때처럼 자바란 뭐고 어디에 쓰이고 등등부터 알려주시는것처럼 알려주시는줄 알았는데 그냥 따라하기부터 바로 들어가시더라구여.... 저는 스프링이 뭔지, 어디에 쓰이는지, 왜 배워야되는지 등등 완전 기초적인것부터 알려주실줄 알았는데... 완전 기초용 강의는 없나요?....