묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
insert 로그 확인하는 방법이 궁금합니다.
안녕하세요! 좋은 강의 항상 감사드립니다. 다름이 아니라 select, update 쿼리에 대한 로그는 확인이 되는데 insert 쿼리는 로그에 남지 않고 Executing SQL update and returning generated keys 라는 insert 실행 메시지만 확인 가능하더라구요. 혹시 insert 쿼리를 로그로 확인 할 수 있는 방법이 있는지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
order builder패턴 질문
set를 빌더 패턴으로 바꿔봤는데 배열은 어떻게 빌더로하는지 궁금해서요ㅠㅠ 이러이렇게 하는게 맞는건지 아닌거같기도하고... 그리고 (...) 이거 궁금한데 뭐라고 검색해야나오나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
cascade관련
cascade가 그럼 언제써야되는지 혹시 명확한 조건이있을까요 One으로시작하는거라든지 그런거요 oneToMany이관계에서도쓰는거면 member와 order사이에서도쓸수있지않나해서요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
response와 ModelAndView가 각각 별개로 WAS로 반환이 되는 거로 이해하는게 맞나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의 잘 듣고 있습니다! 궁금한 점이 있는데요. 예외가 발생할 경우에는 ExceptionResolver가 이 예외를 처리할 수 있는지 체크하고 sendError를 통해서 500에러가 아닌 400에러를 WAS로 보낸 다음에 ModelAndView를 WAS로 보낸다고 이해를 했습니다. 그러면 response랑 ModelAndView는 별개로 WAS로 응답이 되는 건가요??
-
해결됨스프링 핵심 원리 - 고급편
강의 학습 중 공통(부가)기능 처리 방법에 대한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 스프링 핵심원리 고급편에서 다루는 주요 내용인 핵심기능과 공통(부가)기능을 어떻게 나눌 것인가를 듣다보니 어느덧 AOP 챕터까지 다다르게 되었습니다. 강의를 통해 부가기능의 종류에는 크게 로깅, 트랜잭션처리, 접근권한확인이 있다고 생각이 들었습니다. 이것들은 앞에서 다룬 개발 패턴이나 AOP를 사용하지 않고도 유틸리티성 클래스를 통해 처리가 가능한 것으로도 알고 있지만 SOLID 원칙, 유지보수 효율 증대, 중복 코드 제거 등의 많은 이점을 가져다주기 때문에 AOP와 같은 기술을 사용하는 것은 이해를 했습니다. 그러나 Filter/HandlerInterceptor를 사용해서도 부가기능을 처리할 수 있을 것으로도 생각이 드는데요.(스프링 MVC 강의 학습을 통해 느낀 점입니다.) 저와 비슷한 생각을 가지고 계신 다른 분께서 질문한 글의 답변을 인용하자면 웹과 관련된 공통(부가)기능(특정 메뉴 접근권한 확인, 로그인 여부 확인 등)는 Filter/HandlerInterceptor를 통해 처리하고, 순수한 자바 코드를 통한 공통(부가)기능은 AOP를 이용하는 것이 맞는 것인지 궁금합니다. (참고 질문: https://www.inflearn.com/questions/495293) 물론 더 나아가 시큐리티를 알고 있다면 이런 질문 내용도 다른 방식으로 해결이 가능하겠지만, 만약, 시큐리티를 현재 모르고 있다라는 가정하에 위와 같이 실무에서도 처리하는게 맞는지 첨언 부탁드리겠습니다. 미리 답변 감사드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
혹시 강의에 올려주신 html 파일 관련해서
안녕하세요 강의를 거의 다 완강해가서 질문남기게 되었습니다 ! 스프링 MVC2편을 몇강 안남겨두었는데 아직도 여러가지 애노테이션 (@Autowired 랑 @Required ArgsConstructor) 등이 쓸 때마다 어떤 차이가 있는지 왜 사용하는지 등 머릿속에 개념이 희미해져서 부족한 내용들 강의 찾아보면서 DB랑 JPA 강의전에 스프링을 복습해보려고 하는데 데이터베이스를 사용하지 않으면서 스프링을 공부할만한 html 파일들이 없더라구요 그래서 김영한 선생님이 최종본으로 올려주신 파일들중 html만 베껴서 기록도 남길겸 깃헙에 공유하면서 저만의 소스로 페이지를 만들어봐도 되는지 여쭤보려고 질문 남기게 되었습니다 혹시 github에 김영한 선생님이 올려주신 html파일들만 제가 사용해서 스프링 공부를 복습해봐도 될까요 ??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
html 대신 객체를 반환할 때 Dispatcher Servlet에서는 어떻게 처리가 되는걸까요??
안녕하세요, 강의를 보다가 이해가 안되는 부분이 있어서요. Spring MVC 구조에서 핸들러 어댑터는 Dispatcher Servlet한테 ModelAndView를 반환해주잖아요! 그러면 Dispatcher Servlet은 view Resolver를 사용해서 View로 만들어줘 HTML을 보내주고요. 그런데 @ResponseBody 등을 사용해 html대신 직접 객체를 반환해주는 경우에는 어떤 식으로 흐름이 진행되는지가 헷갈려서요, Http 메세지 컨버터에 보내주면 여기에서 응답 결과를 만드는 거 까지는 이해했는데, 그러면 핸들러 어댑터는 DispatcherServlet에 ModelAndView를 반환하지 않아도 되는건가요? 요약하면 HTML대신 객체를 반환하는 경우 Dispatcher Servlet에서 어떻게 처리가 일어나는지가 궁금합니다..!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
updateitem dto관련
UpdateItemDto dto이렇게만들어서 사용해도된다고해서 만들어볼려고한느데 ItemService 에 @Transactional public void updateItem(Long itemId, UpdateItemDto dto) { Item findItem = itemRepository.findOne(itemId); findItem.setPrice(dto.getPrice()); findItem.setName(dto.getName()); findItem.setStockQuantity(dto.getStockQuantity()); } 이렇게 만들고 UpdateItemDto @Getter @Setter public class UpdateItemDto { private String name; private int price; private int stockQuantity; } 이렇게만들고 근데 controller에서 @PostMapping("items/{itemid}/edit") public String updateItem(@PathVariable Long itemId, @ModelAttribute("form") BookForm form) { itemService.updateItem(itemId, form); return "redirect:/items"; 이런식으로되어있는데 form을어떻게dto로넘길수있을까요 controller에서 dto로넘기는건 안좋다고 다른질문에서본거같은데
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류 페이지 오류 출력할 때 질문입니다
timestamp, path, status, message 등 500.html 에서 출력할 때 따로 모델을 가져온다던가 th=object 였나...?? 같은걸 쓰지 않고 그냥 타임리프로 ${} ,하는데 출력이 되더라고요 이게 모델을 가져오지않는걸 봐서는 모델에 담기는 것 같진 않고 따로 무언가를 가져온 것은 없는 것 같은데 어떻게 이 출력이 이루어지는건가요 ??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티에 로직들질문
서비스에 하는게 더 로직에맞는거아닌가해서요 물론간단한예제라서 엔티티에하는건지 아니면원래 엔티티에해도되는건지를모르겠습니다. 엔티티에 메서드를 많이만드는게 신기하다고해야되나 다른곳에서도 이렇게해도되는건지가궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 관련해서 질문 드립니다
LoginController 에서 HttpSession session = request.getSession(); session.setAttribut(SessionConst.Login_Member, loginMember); 이게 request에 세션이 있으면 그것을 session 이라는 객체에 담는것 아닌가요 ? (12sasd12-dasdasd-21 형태) 그 후에 setAttribute 에서 SessionConst.LOGIN_MEMBER 를 왜 넣는지 이해가 가지 않습니다 SessionConst.Login_Member의 역할이 무엇인가요 ??? 이 강의 이전에 직접 세션을 만들어봤을 때는 이해가 갔는데 이번 강의에서는 세션이 이해가 가질 않네요 ㅠㅠ
-
미해결실전! 스프링 데이터 JPA
엔티티, DTO 유효성 검사에 대해 질문 드립니다.
엔티티, DTO를 둘 다 유효성 검사를 하나요? 만약 엔티티도 유효성 검사를 할 떄 Bean validation을 사용하시나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
쿠키는 웹페이지에서 자동으로 체크하는건가요 ?
cookie value가 1이라면 알아서 유지하면서 모든 메쏘드가 돌아가는건가요 ? 따로 쿠키의 값을 체크하는 소스를 작성한 적이 없는 것 같은데 웹에서는 쿠키가 있으면 다 잘돌아가는게 신기해서 질문 남깁니다. 아니면 html 파일에서 영한님이 따로 처리를 해놓으신건가요 ?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
예외를 서블릿 컨테이너로 보낸다는 말씀과 WAS로 보낸다는 말은 같은 의미로 말씀하신 건가요??
항상 강의 잘 듣고 있습니다. 수업을 들으면서 말씀하시는 것에 대해서 혼동이 오는 것이 있는데요. 예외를 서블릿 컨테이너로 보낸다는 말씀과 WAS로 보낸다는 말씀은 같은 의미로 말씀하신 건가요??
-
해결됨스프링과 JPA 기반 웹 애플리케이션 개발
지원중단
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. public class SecurityConfig extends WebSecurityConfigurerAdapter 에서 WebSecurityConfigurerAdapter 이게 지원중단이라떠서 더이상 진행이 불가능한데 어떻게 해결할 수 있나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
DispatcherServlet가 WAS 내부에 있는 Servlet Container의 역할을 하는 게 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 안녕하세요 영한님. 좋은 강의 감사합니다. 수업을 듣다가 계속 혼동되는 부분이 있는데요 제가 알기로는 WAS 안에 Servlet Container가 있고 스프링에서는 DispatcherServlet이 이 Container 안에서 모든 요청을 처리해주는 것으로 알고 있습니다. 근데 12:40분쯤 설명부터 ExceptionResolver에서 처리를 하고서 View가 필요하지 않은 경우 다시 DispatcherServlet이 WAS로 응답을 보낸다고 하셨는데요 그러면 WAS 내부에서 DispatcherServlet이 작동하는 것이 아닌 외부에서 작동하는 것인가요? DispatcherServlet에서 WAS로 다시 보낸다고 하신게 정확히 이해가 되지 않아서요...
-
미해결스프링 핵심 원리 - 고급편
component 중복초기화 부분 추상클래스로 변경
강사님께서 말씀주신 component 중복 호출 부분 추상클래스로 빼봤습니다. 피드백 사항 있으면 말씀 부탁 드립니다^^; Decorator - 추상클래스 public abstract class Decorator implements Component{ private Component component; public Decorator(Component component) { this.component = component; } @Override public String operation() { return component.operation(); }} MessageDecorator public class MessageDecorator extends Decorator{ public MessageDecorator(Component component) { super(component); } @Override public String operation() { log.info("MessageDecorator 실행"); //data -> *****data***** String result = super.operation(); String decoResult = "*****" + result + "*****"; log.info("MessageDecorator 꾸미기 적용 전={}, 적용 후={}", result, decoResult); return decoResult; }} TimeDecoratior public class MessageDecorator extends Decorator{ public MessageDecorator(Component component) { super(component); } @Override public String operation() { log.info("MessageDecorator 실행"); //data -> *****data***** String result = super.operation(); String decoResult = "*****" + result + "*****"; log.info("MessageDecorator 꾸미기 적용 전={}, 적용 후={}", result, decoResult); return decoResult; }} test 코드 @Testvoid decorator3() { Decorator messageDecorator = new MessageDecorator(new RealComponent()); messageDecorator.operation(); System.out.println(); Decorator timeMsgDecorator = new TimeDecorator(new MessageDecorator(new RealComponent())); timeMsgDecorator.operation();}
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
BindingResult 동작 흐름도가 어떻게 되나요 ?
타임리프에서 item.itemName을 꺼내려고 Model을 뒤지는데 BindingResult안의 Error(FieldError, ObjectError)중에 Item이라는 ObjectName을 가진 객체 안에 itemName에 대한 값이 있다면 이 값을 꺼내오고 값이 없다면 Model 안에 있는 Item 객체의 itemName을 꺼내오게 되는건가요 ? 그렇다면 html에서 출력 시 사용하는 변수명(ObjectName) = Model의 item의 변수명 = FieldError에 추가할때 field라는 매개변수명 3가지가 같아야 돌아가는건가요? ObjectError에는 Field라는 매개변수가 필요없던데 내부적으로 어떻게 흘러가는지 헷갈려서 질문 남깁니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
BindingResult는 내부 구성이 어떻게 되어 있나요 ?
BindingResult는 내부 구성이 어떻게 되어 있나요 ? 또, Model은 Map의 형태로 되어 있다고 했는데 BindingResult는 Model에 자동으로 포함된다면 Model 클래스안에 Binding Result라는게 있는건가요 아니면 Model에 BindingResult : ??? 이런식으로 삽입이 되는건가요 ?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의와 관련된 내용입니다
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예) model.attribute에 관한 내용2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 강의를보며 다른소스를 보다가 궁금한점이 생겼는데 컨트롤러에 일부분입니다. for(int i=0; i<lst.size(); i++){ URL obj = new URL(lst.get(i)); URLConnection conn = obj.openConnection(); is = conn.getInputStream(); isr = new InputStreamReader(is, "UTF-8"); in = new BufferedReader(isr); jsonObj = (JSONObject)jsonParser.parse(in); String comboNm = lst.get(i).substring(lst.get(i).indexOf("=")+1, lst.get(i).indexOf("&")); model.addAttribute(comboNm, jsonObj.get("RTN_RSN")); } 이런식으로 모델에 담겨주는데 이 컨트롤러에 리턴되는 view 페이지는 예를들어 return "example/2.do"; 입니다. 그런데 2라는 view 페이지에 가면 comboNm 라는 값을 불러오는게 하나도 없고 ex) ${comboNm} 이런것들 바로 select된 값을 가져오는거 같은데요 이럴수가 있나요?