묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
스프링 MVC 어댑터의 활용
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 MVC에 대해서 공부하다가 문득 궁금한 것이 생겼습니다. 스프링 MVC의 구조 중에 어댑터 패턴을 이용해 다양한 컨트롤러를 호환해서 핸들러를 반환한다고 했는데, 솔직하게 어떤 기능은 하는지 알겠으나 감이 잘 오지 않습니다.실무에서 어댑터를 어떻게 활용하는지에 대해서 궁금증이 생겼습니다. 사실 이미 버전이 다른 컨트롤러를 어댑터를 통해서 핸들러를 찾아서 호출하는 것을 예제로 공부해 보았지만, 저에게는 조금 보충이 필요하다는 생각이 들어서 한번 질문 남겨봅니다.
-
미해결스프링 시큐리티 OAuth2
리소스 서버와 인가 서버가 동일한 예시
안녕하세요? 먼저 좋은 강의 감사드립니다. 실무에 많은 도움을 받고 있습니다.OAuth2.0 Roles(Resource Owner, Resource Server, Authorization Server, Client)의 개념에 대해 궁금한 점이 생겨서 아래 예시와 함께 질문드립니다.카카오톡과 연동한 게임을 보면 게임내 순위 화면에 카카오톡의 프로필 사진이 사용되는 것을 알 수 있는데요.이 경우 카카오톡의 OAuth2.0 인가 서버가 사용자 인증의 역할과 함께 리소스 서버(프로필 사진 제공)의 역할도 함께 수행하는 것으로 보이는데요 이게 맞을까요?감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
No message found under code 'hello' for locale 'null' 오류 해결이 안됩니다
package hello.itemservice.message; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.MessageSource; import static org.assertj.core.api.Assertions.*; @SpringBootTest public class MessageSourceTest { @Autowired MessageSource ms; @Test void helloMessage(){ String result = ms.getMessage("hello", null, null); assertThat(result).isEqualTo("안녕"); } }강사님이 알려주신것 처럼 작성했더니 org.springframework.context.NoSuchMessageException: No message found under code 'hello' for locale 'null'. 이런 오류 메시지가 발생합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코드 실행과 톰캣 8080포트 관련해서 강의내용과 다른 출력화면이 나옵니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]코드 실행을 했으나 로컬호스트 8080으로 접속시 보여주신 에러화면이 아닌 연결실패 화면이 나와, 정상실행이 안된건지 스프링부트 3. 버전이라 다르게 나오는지 모르겠습니다3 이후부터는 자바17로 하라고 적혀있어 환경변수 및 인텔리제이 내부 프리퍼런스도 확인했습니다.8080포트가 이미 열려있어 그럴수 있다는 답변 내용을 보고 맥에서 확인을 해보고 일부러 오라클측 포트도 열어서 테스트해봤는데 이미 8080포트가 열려져있지 않아서 kill 할수도 없었습니다 어떻게 확인해야할까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
선생님 리액트로 만들어서 사용할 때 ModelAttribute 사용법이 궁금합니다
제가 리액트 공부를 전에 해서 같이 사용해서 테스트 해보려고 하는데 ModelAttribute 개념에 대해 아직 제대로 숙달이 되지 않아, 만약에 리액트에서 사용하려면 어떻게 해야하는지 감이 안잡혀서 그래서 인터넷을 찾아서 하는중인데.. @GetMapping(value = "/add", produces = MediaType.APPLICATION_JSON_VALUE + ";charset=UTF-8") @ResponseBody public Map<String, String> getRegions(){ Map<String, String> regions = new LinkedHashMap<>(); //순서가 보장이 안됨 regions.put("SEOUL", "서울"); regions.put("BUSAN", "부산"); regions.put("JUJE", "제주"); return regions; } @GetMapping(value = "") @ResponseBody public List<DeliveryCode> deliveryCodes(){ List<DeliveryCode> deliveryCodes = new ArrayList<>(); deliveryCodes.add(new DeliveryCode("FAST", "빠른 배송")); deliveryCodes.add(new DeliveryCode("NORMAL", "일반 배송")); deliveryCodes.add(new DeliveryCode("SLOW", "느린 배송")); return deliveryCodes; } 이런 식으로 하고 있습니다. ModelAttribute 리액트에서 어떻게 사용할 수 있을까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
스프링 데이터 JPA 질문입니다
스프링 데이터 JPA의 질문이 기본적인 CRUD를 지원해서 구현체를 안 만들어줘도 되는 것 아니었나요 ??JpaItemRepositoryV2를 만들면 이 부분이 깨지는 것 아닌지 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
PersistenceException은 런타임 예외이지 않나요 ?
PersistenceException이 RuntimeException을 상속 받았던데 이러면 service 계층에서 처리 할 의무가 없으니 DataAcessException으로 변환하지 않아도 JPA예외에 의존하는 것이 아니지 않나요 ?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
포맷터의 parse(), print()는 자동으로 사용되는 건가요?
4:39 부분 assertThat(conversionService.convert(1000, String.class)).isEqualTo("1,000");1000(객체) -> String 이므로 MyNumberFormatter에 parse()실행 assertThat(conversionService.convert("1000", Long.class)).isEqualTo(1000L);String -> 1000(Long) 이므로 MyNumberFormatter에 print 실행 위 코드에는 MyNumberFormatter에 있는 parse(), print()를 사용하는 곳이 없는데, 포맷터 사용의 경우 DefaultFormattingConversionService에 의해서 parse(), print()가 알아서 실행된다고 이해하면 될까요?
-
해결됨스프링 핵심 원리 - 기본편
프록시, @PostConstruct
프록시 객체가 생성될 때 myLogger를 토대로 생성되서 DI까지 이뤄진다고 생각했습니다.DI가 이뤄진다는 것은 프록식 객체도 빈에 등록되는 것인데 왜 @PostConstruct는 작동이 안되는지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
From 과 th:field
converter-form.html을 아래와 같이 작성<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> th:field <input type="text" th:field="${ipPort}"><br/> </form> </body> </html>converterForm을 아래와 같이 작성@GetMapping("/converter/edit") public String converterForm(Model model) { IpPort ipPort = new IpPort("127.0.0.1", 8080); model.addAttribute("ipPort", ipPort); return "converter-form"; }위와 같이 작성하고 실행하면,ipPort값이 출력이 되어야 할 것 같은데1. 아래와 같이 입력창 안에 아무 값도 나오지 않는 이유가 무었인지 궁금합니다. 2. 혹시 th:object="${form}"을 안쓰면 입력창 안에 텍스트가 나오게 할 수 없는 건가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
쓰기 지연 질문입니다
JPA를 사용하지 않으면 데이터베이스에 바로 SQL을 을 보내지만, 커밋을 할 때 저장을하고, 롤백을 하면 내용을 원래대로 복구하던 것을JPA를 사용하면 커밋을 할 때 까지 SQL을 보내지 않기 때문에 롤백이란 기능이 사라졌다고 생각하면 되는 것일까요?그렇다면 원래는 커밋을 하지 않아도 내부에선 반영이 되기 때문에 테스트를 할 수 있었는데 이런 경우는 어떻게 되는 것인가요 ? (테스트코드에서 @Transactional같은 경우 )
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
인텔리제이와 mysql 대신 사용 가능한가요?
안녕하세요! 이번에 큰맘 먹고 수강 신청한 초보 개발자 입니다.인텔리제이 대신 이클립스를 사용해도 괜찮을까요?꼭 mysql로 사용해야 하는 건지, 그렇다면 강의에서 설명해 주시는 내용과 차이가 많이 생기는 건가요?위의 궁금한 사항에 답 부탁드립니다 :)
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Session
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]session Manager을 domain패키지에 두면 이상한가요?session값을 실무에서 데이터베이스에 저장하고 쓰나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
상태코드
1.13:09 부분을Integer statusCode = (Integer)request.getAttribute(ERROR_STATUS_CODE)위와 같이 해도 될텐데, RequestDispatcher를 사용하신 이유가 궁금합니다.2.log.info("1 : " + request.getAttribute(ERROR_STATUS_CODE));log.info("2 : " + request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE));getAttribute의 반환 타입이 Object여서 위와 같이 로그 출력을 하면 Object안에 데이터가 출력될 줄 알았는데 500이 출력 됩니다.이건 왜 그런건가요? 타입 자동 변환 그런것이 있는 건가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
가장 간단한 Bean 검증이 안되고 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요.Bean Validation 가장 처음에 나오는 간단한 예제를 Item 클래스에 적용해 보았는데 오류 검증로직이 수행되지 않고 있습니다. 어디서 잘못된 것인지 조언 부탁드립니다.제가 만든 프로젝트는 아래 주소에 있습니다.https://drive.google.com/file/d/1QPoMqciIcKlqDc1jQFtRPTu55orNfEOs/view?usp=share_link감사합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
필터, 인터셉터 흐름
1. 5:29부분에 "인터셉터와 중복으로 처리되지 않기 위해 앞의 logFilter() 의 @Bean 에 주석을 달아두자" 라고 하신거는 로그에 필터와 인터셉터 로그가 나와서 그런건가요?2. FilterRegistrationBean에 있는 @Bean을 제거 해서 doFilter로는 안가는데, 이 경우에는 filter가 없는거라 이해하면 되나요? 아니면 내분에 필터가 따로 있어서 그 필터가 적용되는 건가요?3. 필터에서 dispatchType=REQUEST로 설정해두는 부분이 아래 부분에서filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR);이 부분이 맞나요??public FilterRegistrationBean logFilter() { FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>(); filterRegistrationBean.setFilter(new LogFilter()); filterRegistrationBean.setOrder(1); filterRegistrationBean.addUrlPatterns("/*"); filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR); return filterRegistrationBean;}4. 3번이 맞다면 dispatchType은 REQUEST, ERROR로 설정이 된것이 맞나요?5. 4번이 맞다면 6:37 쯤에서 설명하시는 내용인 4번은 어떻게 진행이 되는 건가요?dispatchType이 REQUEST로 되어 있으면 ERROR의 경우에는 해당 필터가 호출되지 않는다고 하셨는데, 이 경우에는 호출이 되는 건가요?6. 필터, 인터셉터는 개발자가 코드를 작성해야만 적용이 되는 건가요? 아니면 내부에(?) 필터, 인터셉터가 알아서 처리되는 부분도 있는 건가요?
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
인텔리제이에서 kt 파일에 문법에러가 안뜹니다.
src > main > kotlin 에 있는 파일이 인식되지 않는건지 자동완성도 안되고 문법에러도 안뜨네요..test > kotlin 에 있는 .kt 파일에서는 잘 인식되는데 IDE 설정 문제일까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<input type="hidden" name="_open"/> 여기 부분 질문이요
안녕하세요 강의 잘 듣고있습니다 히든태그 부분에서요 value태그가 없어도 잘 작동이 되는데요 value를 굳이 안써도 되는걸까요?<input type="hidden" name="_open"/>
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Validation 과 exception
Validation 과 exception의 차이는 뭔가요..?? 둘이 헷갈려요...
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그아웃시 세션이 유지 됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.수업에 있는 내용을 따라서 프로젝트를 구성했는데 로그아웃시 세션이 유지가 됩니다.로그아웃하고 상품목록 주소를 바로 입력했을 경우 상품목록페이지가 조회됩니다.참고로 저는 login-start를 기준으로 하지 않고 form을 기준으로 시작하였습니다.제가 작성한 프로젝트 전체를 압축해서 공유드립니다.https://drive.google.com/file/d/1QXAgDBbo8In1lIXeLE7nUox8HeQaRm1d/view?usp=share_link 제가 작성한 프로젝트를 기준으로 무엇이 문제인지와 그에 대한 해결책을 알고 싶습니다.그럼 부탁드립니다.감사합니다.