묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
log.info() 안에서 +를 사용하면 출력을 안할때도 연산이 일어난다고 하셨는데
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]log.info(myClass.toString())이런 식으로 괄호 안에서 toString 메소드를 호출하게 코드를 작성하면 log가 출력이 되지 않을 때도 toString 메소드 호출이 일어나서 성능이 저하되는 것일까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
실습 프로젝트를 멀티로 구성해서 하나의 프로젝트로 관리하기
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의 실습을 계속하면서 프로젝트를 여러개 생성하게 되는데요.프로젝트가 늘어남에 따라 특정 프로젝트 수행했던 내용을 보려면 현재 프로젝트를 닫고 이전 프로젝트를 열어야 하는데요.강의에 사용하는 전체 프로젝트를 인텔리제이에서 하나로 관리할 수는 없을까요?서로 다른 프로젝트에 영향이 없게 독립적으로 실행할 수 있게요.조언 부탁드립니다.감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jar포맷의 프로젝트에서, 브라우저 접근 제한하는 방법 문의
스프링 MVC1편 >> [3.서블릿,JSP,MVC패턴] 강의에서/WEB-INF/ 경로에 있는 JSP 는 외부에서 직접 호출할 수 없다고 하였는데 JAR 패키징 유형의 프로젝트에서도 HTML 파일이나 JSP 파일을 만들 때, 브라우저에서 직접 접근하지 못하도록 하는 방법이 있나요 ??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
NumberFormatException
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public class MemberSaveControllerV3 implements ControllerV3 { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override public ModelView process(Map<String, String> paramMap) { String username = paramMap.get("username"); int age = Integer.parseInt(paramMap.get("age")); Member member = new Member(username, age); memberRepository.save(member); ModelView mv = new ModelView("save-result"); mv.getModel().put("member", member); return mv; } }이 코드에서 자꾸 run을 하고 new-form에서 작성하게 될 시http://localhost:8080/front-controller/v3/members/save 이 경로에서 이런식으로 뜨게 되는 데 로그에서 어떤 오류가 발생했는 지 확인해본 결과username=son&age=26]2023-03-21T02:35:34.035+09:00 ERROR 16792 --- [nio-8080-exec-1] a.c.c.C.[.[.[.[frontControllerServletV3] : Servlet.service() for servlet [frontControllerServletV3] in context with path [] threw exceptionjava.lang.NumberFormatException: Cannot parse null string이런식으로 에러가 난 겁니다. int age = Integer.parseInt(paramMap.get("age"));이 코드떔에 에러 난건데강의 듣고 라이브코딩한거라 어떤 부분에서 잘못된건지 모르겠네요... 알려주시면 감사하겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
libs후 localhost:8080 안됨
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.libs 폴더에 jar파일 있는 것까지 했는데localhost:8080가면 안됩니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
index.html 코드에서 자꾸 오류가 생깁니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; }이부분에서 String 다음 hello 이부분을 인식으로 못해서 자꾸 페이지에서 안녕하세요. null이런식으로 나옵니다. 방법좀 알려주세요 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Autowired 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 @Autowired 궁금한게 있어서 문의드립니다테스트코드가 아닌 코드에서 @Autowired 를 쓸때에는 생성자를 작성하는게 당현한걸까요? 안쓰는 분들의 코드만 봤어서 Autowired 어노테이션 사용시 생성자를 만드는 코드보고 어? 이렇게도 쓰는구나 해서 강의따라만 하다가 강사님처럼 쓰는게 정석적인게 맞는지 궁금해서요."그냥 Autowired는 객체 만들때 외부에서 생성자나 필드,set,get 주입하려고 쓴다" 라고만 알고 있었는데.. 강사님께서는 Service 필요한 객체에 @Autowired를 붙이고 생성자를 만드셨잖아요 강사님처럼 이렇게 코드짜는게 정석적인 걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
HelloSpringApplication 작동시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이런식으로 오류가 나옵니다 분명환경변수 17로 바꿨는데 뭐가 문제인가여?? 또한 Executing pre-compile tasks...Running 'before' tasksChecking sourcesParsing java… [hello-spring.main]java: warning: source release 17 requires target release 17Checking dependencies… [hello-spring.main]Dependency analysis found 0 affected filesErrors occurred while compiling module 'hello-spring.main'javac 17 was used to compile java sources해결좀 부탁드립니다.ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
locallhost h2 연결 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강사님이 가르쳐 주신 부분에서 locallhost로 연결을 하라 하셨는데 제 windows에서는 locallhost로 연결하기가 너무 힘들어서 ip로 연결을 했습니다만 여기서 크게 문제가 없을 지 궁금해서 질문을 올립니다!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
갑자기 이런 오류가 뜨는데
잘 실행되던게 갑자기 경고가 뜨네요...동그라미친 부분을 properties에 추가하라는 글들을 봐서 추가하였는데, ,,기존에는 없던 경고 였기 때문에 갑자기 생겼습니다. 저 두 줄의 코드를 추가하면 해결된건가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 경로 설정부분
localhost:8080을 검색하면 index.html로 연결되는데혹시 어디서 설정을 해주는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
핸들러 매핑과 핸들러 어댑터 강의 질문 (컨트롤러 호출과정 질문)
안녕하세요 선생님!스프링 입문 강의부터 잘 따라가고 있다가 컨트롤러 인터페이스 부분에서 막혀서 질문 드립니다. 전 강의 '유연한 컨트롤러' 강의를 보면 FrontControllerServletV5에서는 핸들러 매핑정보를 Map<String, Object> handlerMappingMap에 담았고, getHandler메소드를 통해 handlerMappingMap.get(requestURI);로 반환하여 핸들러를 찾았습니다. 제가 이해한 컨트롤러 호출과정은,핸들러 조회 - getHandler(request); =>handlerMappingMap.get(requestURI);으로.핸들러 어댑터 조회 - getHandlerAdapter(handler);핸들러 어댑터 실행 - adapter.handle(request, response, handler);이라고 알고있었습니다. 그런데 이번에 핸들러 매핑과 핸들러 어댑터 강의에서 Controller인터페이스를 사용한 OldController를 보니, 이렇게 설명이 나와있습니다.그렇다면 , 위와 같은 순서가 아니라 핸들러를 찾는 방법 선정이 먼저인적절한 핸들러 매핑방법 찾기 (RequestMappingHandlerMapping 인지, BeanNameUrlHandlerMapping 인지)찾은 핸들러 매핑으로 핸들러 조회핸들러 어댑터 조회핸들러 어댑터 실행이렇게 이해를 했습니다. 질문입니다. 1 . 그러면 V5와의 차이점이 ,V5는 핸들러 매핑방법이 handlerMappingMap.get(requestURI); 이거 하나였는데, Controller인터페이스를 적용한 부분은 핸들러 매핑방법이 RequestMappingHandlerMapping, BeanNameUrlHandlerMapping 이렇게 두개(실제로는 더 많다고 하셨으니 여러개)가 된 것인가요??? 2. 매핑 방법이 두개가 된 이유는 지금까지 스프링을 사용하지 않은 서블릿으로만 사용했기 때문에 컨트롤러를 Map으로만 관리하다가, 이제는 컨트롤러를 @Component를 이용해 스프링 빈으로 등록을 해서, Map이 아닌 스프링빈으로 관리를 해서 그런건가요?? 3. 그렇다면 이 때, 컨트롤러 저장소(?) 모양의 변화는 아래와 같나요?이 모양에서이모양으로 바뀐건가요?그리고 여기서 스프링 빈 저장소의 빈 객체는 OldController인가요? 아니면 null인가요? .. 반환값이 null이어서.. 4. 빈 이름으로 등록하지 않고 @RequestMapping으로 등록한다면 스프링 빈 저장소의 모양은 위의 빈 저장소와 동일한가요? 5. 교재에서 DispacherServlet.doDispatch()의 핸들러 조회 부분인 getHandler메소드가 적혀있지 않은데 일부러 안적으신건가요? 아래의 V5의 getHandler메소드처럼 핸들러 조회할 때 Map을 뒤져서 가져오는걸 바로 파악해서 이해하기 좋았는데doDispatch()에는 위 메소드가 없더라구요ㅠ.. 어떻게 뒤져서 가져오는 지 흐름이 궁금합니다.아니면 스프링이 제공해줘서 메소드가 없는건지? 있다면 메소드 코드를 알려주실 수 있나요? (제가 못찾는건지 인텔리제이 검색이 안나오네요..ㅠ) 더 궁금한 게 많지만 여기 까지 질문 하겠습니다. 혹시 위에서 제가 다르게 이해하고 있는 부분이 있거나, 앞서 들은 강의에서 부족한 개념이 있어 보이시면 알려주시면 감사하겠습니다.그리고 강의 너무 재밌고 좋아요!감사합니다!!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradle-resources-test:hello-spring.main: java.lang.NoClassDefFoundError:
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요강의 13분 20초를 실습하는데gradle-resources-test:hello-spring.main: java.lang.NoClassDefFoundError: 에러가 생겼습니다해결시도1.스택오버플로우에서https://stackoverflow.com/questions/27978908/java-lang-noclassdeffounderror-org-apache-tools-ant-util-readerinputstream-vaadTryFile > Invalidate Caches / Restart를 따라했는데, 해결이 되지 않았습니다 해결시도2.https://www.inflearn.com/questions/728870/java-lang-noclassdeffounderror-org-apache-tools-ant-util-readerinputstream이분도 저와 같은 에러가 있어서 프로젝트를 새로 생성하였는데 해결이 되지 않았습니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 11분 코드 19행 exclude group:
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 강사님 안녕하세요강의 11분 8초에서 19번째 줄 코드에서exclude group: 이라는 코드가 보이는데제 코드에서는 그 코드가 보이지 않습니다그 이유와 이 코드의 역할에 대해서 질문 드리고 싶습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequetMapping을 컨트롤러 레벨에 놓은 경우, 오류 발생 관련 질문드립니다.
@Controller @RequestMapping("/springmvc/v1/members/new-form") public class SpringMemberFormControllerV1 { public ModelAndView process() { return new ModelAndView("new-form"); } }궁금해서 @RequestMapping을 클래스 레벨에 작성해보았습니다. 404 오류가 발생했는데, 추측해본 결과는 아래와 같습니다. 제가 추측한 부분이 맞는지 봐주실 수 있을까요?/springmvc/v1/members/new-form 요청이 들어왔다.-> 핸들러 매핑에서 SpringMemberFormControllerV1가 조회되었다.-> SpringMemberFormControllerV1를 처리할 수 있는 핸들러 어댑터로 RequestMappingHandlerAdapter가 선택되었다.-> DispatcherServlet이 핸들러 어댑터를 호출하였다.-> 핸들러 어댑터가 핸들러를 호출하려고 하는데, 이때, 404 오류가 발생한다.또는/springmvc/v1/members/new-form 요청이 들어왔다.-> @RequestMapping가 메서드 레벨이 아닌 클래스 레벨에 있으므로, 핸들러가 조회할 수 없다.(그니까, RequestMappingHandlerMapping은 스프링 빈 중에서, 클래스 레벨에 @RequestMapping 또는 @Controller가 붙은 경우, 매핑 정보로 인식한다. 클래스 레벨에 이 애너테이션이 붙은 클래스는 무수히 많다. 그렇다면, 요청 URL도 참고해서 핸들러를 조회한다는 것인데, @RequestMapping이 메서드 레벨에 존재하지 않기 때문에 핸들러를 조회할 수 없다.)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링DB 접근기술파트까지 들었는데 못알아들어도 그냥 계속 따라서 치기만 해도 괜찮을까요..?
못알아들어서 머릿속에 안남고 휘몰아쳐서 그냥 후루룩 지나가는 느낌인데 일단 그냥 따라쳐서 완강하고 다음 스프링핵심원리 - 기본편으로 넘어가도 괜찮을까요..?그냥 따라치면서 듣고는 있는데 이게 맞나싶어서요...ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cmd gradlew 오류
현재 스프링 부트 3.0.x 이상 사용중이라 자바 버전을 17로 하고 기타 설정을 다 17로 맞췄는데 No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.4 was found. The consumer was configured to find a runtime of a library compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6.1' but: - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 11) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.4 declares a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.0.4 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a runtime of a library, packaged as a jar, and its dependencies declared externally: - Incompatible because this component declares a component compatible with Java 17 and the consumer needed a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1') - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a runtime of a component, and its dependencies declared externally: - Incompatible because this component declares documentation and the consumer needed a library - Other compatible attributes: - Doesn't say anything about its target Java version (required compatibility with Java 11) - Doesn't say anything about its elements (required them packaged as a jar) - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.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.* Get more help at https://help.gradle.orgBUILD FAILED in 3s 이렇게 오류가 뜨면서 빌드가 되지 않습니다.검색결과로 나오는 모든 설정을 17버전을 바꾸었는데 되지 않네요ㅜ 혹시 해결방법을 알려주실수 있는지 여쭤봅니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중복_회원_예외 fail()에 생기는 빨간줄!
package hello.hellospring.service; import hello.hellospring.domain.Member; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.* ; import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.fail; class MemberServiceTest { MemberService memberService = new MemberService(); @Test void 회원가입() { Member member = new Member(); member.setName("hello"); Long saveId = memberService.join(member); Member findMemeber = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMemeber.getName()); } @Test public void 중복_회원_예외(){ // given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); memberService.join(member1); try { memberService.join(member2); fail(); }catch (IllegalStateException e){ assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } } }위에는 전체 코드 입니다fail() 메서드에 빨간줄이 생기고 실행하면 아래와 같은 오류가 발생합니다어떻게 고쳐야할까요?(+추가) fail()에 올렸을때 뜨는 메세지 입니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
helloApi의 return 값이 이해가 되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.helloApi에서 hello.setName 메소드만 호출을 하고return 이 있는 hello.getName 메소드는 호출 하지 않았는데 결과가 {"name":"srping!!"} 나오는 이유가 궁급합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
하나의 클래스 내 여러 컨트롤러가 존재할 때, 핸들러로 조회되는 것
@Controller public class SpringMemberFormControllerV1 { @RequestMapping("/springmvc/v1/members/new-form") public ModelAndView process() { return new ModelAndView("new-form"); } @RequestMapping("/springmvc/v1/members/new-form2") public ModelAndView process2() { return new ModelAndView("new-form"); } @RequestMapping("/springmvc/v1/members/new-form3") public ModelAndView process3() { return new ModelAndView("new-form"); } } 질문1. /springmvc/v1/members/new-form 요청, /springmvc/v1/members/new-form2 요청, /springmvc/v1/members/new-form3 요청이 올 때는 모두 SpringMemberFormControllerV1가 핸들러로 조회되는 것인가요? 질문2. RequestMappingHandlerMapping은 클래스 레벨에 @Controller 또는 @RequestMapping이 있을 때, 핸들러로 조회할 수 있습니다.RequestMappingHandlerAdapter도 클래스 레벨에 @Controller 또는 @RequestMapping이 붙은 클래스에 대해서만 처리할 수 있는 HandlerAdapter인 것인가요? 질문3. 메서드 process(), process2(), process3()를 호출하는 것은 HandlerAdapter인 것이 맞을까요? 애너테이션 기반의 컨트롤러를 사용하면서 컨트롤러가 클래스 레벨 -> 메서드 레벨이 되어 헷갈려서 질문드리게 되었습니다.