묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
th: each오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.2022-12-23 23:40:36.655 ERROR 5284 --- [nio-8080-exec-1] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8080-exec-1] Exception processing template "basic/items": Exception evaluating SpringEL expression: "item.id" (template: "basic/items" - line 37, col 35) ControllerSystem.out.println(items.get(0).getId()+": id"); 할떄 값이 나왔어요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DataSourceUtils import 문제가 발생합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]JdbcMemberRepository.java에서 DataSourceUtils를 import 하는 부분에서 계속 에러가 발생합니다.application.propertiesbuild.gradle위와 같이 설정 완료했는데도 계속 에러가 나서 질문 올립니다. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프론트엔드 쪽을 보면서 궁금한게 생겼습니다
안녕하세요 강의 잘 듣고 있습니다!1) MVC에서 V는 view잖아요 그리고 view를 제공하는 jsp나 thymeleaf같은 템플릿이 있구요... 그러면 MVC라는건 BE가 프론트 엔드 없이 혼자서 개발할때 View를 고려하며 개발하는 과정인가요?? 프론트엔드 개발자가 같이 일을 할텐데 MVC에서 view를 고려하는 맥락이 무엇인지 궁금합니다...!! BE에서는 그냥 기능구현만 하고 view 필요없이 데이터만 넘겨주면 될 것 같아서요... View는 왜 있는걸까요 .. ?2) 그리고 강의 내용과는 큰 상관 없는 것 같지만, BE에서 FE로 데이터를 어떻게 넘겨주는지 이해가 안돼서 질문드립니다... 검색해보면 rest API 를 사용하여 json을 넘겨주는거로 이해를 했는데, 영한님 강의 들어보면 json을 넘겨주는 과정은 없는 것 같아서 FE와 어떻게 소통하는지가 궁금합니다!알려주시면 감사하겠습니다 !!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
웹 백엔드 개발 진행 순서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.처음으로 프론트와 협업을 해서 제대로 된 프로젝트를 진행할 기회가 생겼는데 혹시 프로젝트 기획부터 배포까지 백엔드가 어떤일을 계획하고 해야하는지 가이드 라인을 알수 있을까요? 웹페이지에서 구현할 기능들을 모두 생각해서 정리하고 api 명세작성과 db 설계를 한후에 코드를 짜면 되는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.스프링부트 3.0, JDK17 사용중입니다. AOP 코드를 넣지않고, 스프링 빈 클래스가 잘 찍히는지 확인해보다가. 강의 설명과 다르게, AOP 설정을 넣지 않았는데도 프록시객체가 찍힙니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
핸들러와 어댑터
안녕하세요 클라이언트 요청시 핸들러와 어댑터가 호출되는 흐름이 제가 이해한게 맞는지 질문드리고 싶어요springmvc(강의)에서는 RequestMappingHandlerMapping 클래스를 이용해서 어댑터를 찾았는데요@Controller public class MyController { @RequestMapping("/hello") public ModelAndView hello() { return new ModelAndView("hello"); }위 코드대로 질문을 드려보면요로컬에서 localhost:8080/hello 요청하면dispatcher servlet이 우선 RequestMappingHandlerMapping 빈을 이용해서 MyController을 얻게 되고,그리고 RequestMappingHandlerAdapter 빈을 이용해서 어댑터를 얻어서 어댑터가 MyController의 hello 메소드를 실행한다.이게 맞나요? 근데 어댑터는 구현한적이 없는데 어떻게 실행한다는것인지 ..ㅎㅎ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Rest api 응답 화면
우선 화면에서는 html ,자바스크립트 ,제이쿼리 ,타임리프만을 사용해보려고 하고있습니다(화면에서 ajax 사용했습니다)아래 2가지 상황에서 화면으로 어떻게 값을 가져와서 사용해야하는지 잘모르겠습니다... ㅠㅠㅠ컨트롤러에서 @ResponseBody가 붙은 메소드에서 데이터를 Map으로 리턴하고 있습니다 그랬을때 화면에서는 어떻게 받아서 사용해야할지 모르겠습니다..컨트롤러에서 @ResponseBody가 붙지 않는 메소드에서는 모델에 담은 데이터가 Map이고 그 Map안에서 특정한 하나의 키에 Value가 배열이고 그 안에 또 Map이 있는 경우에는 어떻게 가져와야할까요?? 배열이 있는부분은 반복문을 써서 전부 화면에서 보여주고 싶습니다
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JSP라는게 정확히 어떤 것일까요?
제가 이해한 바로는 Java코드 내에 직접 html을 써서 view를 제공해줬는데 이게 아무래도 하나하나 치는게 불편하다보니 JSP가 등장했고 이를 통해 java에서 html을 쓰는게 아니라 html코드 내에 중요한 부분에만(for를 이용한 동적 활용이나 repository 데이터 조회 등 ?) java코드를 씀으로써 좀 더 코드를 간결하게 만들수 있다는 것 같은데 맞나요 ?? jsp와 타임리프는 둘다 뷰를 그리는 도구이다... ???
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
loginservice부분 질문이요
[질문 내용]여기에 질문 내용을 남겨주세요.public Member login(String loginId, String password) { return memberRepository.findByLoginId(loginId) .filter(member -> member.getPassword().equals(password)) .orElse(null); } 여기서 filter앞에 stream를 안 써준 이유가 뭔가요?? java8메소드를 사용하기 위해서는 stream을 앞에 선언해줘야 한다고 알고 있었는데요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
request-body-json-v4 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]HttpEntity는 HTTP 메시지를 편하게 조회할 수 있게 해준다고 알고 있습니다.httpEntity.getBody()바디 내용을 조회한 다음 HttpMessageConverter가 HelloData의 객체로 변경해줬다고 생각하는게 제대로 이해한게 맞나여?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드하고 실행하기 gradlew build 에러 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. intelllij환경설정 전부 이상없이 설정하였고, 자바 11사용중인데 cmd 창에서 빌드하려니 계속 아래와 같은 에러가 뜹니다 ㅠㅠ 어떻게 해결할 수 있을까요?? Task :test FAILEDError: Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMainCaused by: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMainFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':test'.> Process 'Gradle Test Executor 3' finished with non-zero exit value 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 3s7 actionable tasks: 1 executed, 6 up-to-date
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
v1 부터 v5 까지 배웠는데 복습 방법 질문이요
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]지금 배우는 학습이 나중 수업에 이해를 돋기 위해서 배운다고 하시는데복습할 때 어느 정도 까지 공부를 해야하는지 궁금합니다.코드를 보고 이 로직이 어떻게 구동되는지 이해 할 수 있는 정도로 복습을 끝내도 되는지 알고 싶습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
StringUtils.hasText를 쓰는 이유가 궁금합니다 !!
item.getItemName() == null 로 써도 될거 같은데 hasText를 쓴 이유는 뭔가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findAll 메서드의 리턴값
보통은 새로 생성자를 만들어서 리턴값에 return store;이런식으로 사용했었는데따로 생성자를 만들지 않고new ArrayList<>(store.values()) 라고 사용해도 위와 같이 그대로 리턴이 되는건가요?ArrayList의 타입은 따로 설정해주지 않아도 store 자체가 Map 형태를 가지고 있어서 알아서 Long,Member의 형태로 ArrayList가 생성이 되는건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
members.jsp에서 jstl를 사용하려고 하면 500번에러가 .. ㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]jsp는 잘 인식하는데, jstl를 사용하기 위해 맨 위에 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 을 추가하면 바로 500번 에러가 납니다. 디펜던시는 잘 추가한거 같은데 ㅠ_ㅠ 왜그럴까요 ?? 에러코드는 두개가 바뀌어가며 나옵니다.org.apache.jsp.WEB_002dINF.views.new_002dform_jspjava.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.views.new_002dform_jsp이거와 하나는 사진처럼요 ..,implementation 'javax.servlet:jstl' implementation group: 'javax.servlet', name: 'jstl', version: '1.2' implementation "org.apache.tomcat.embed:tomcat-embed-jasper"
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Getter 없이 객체의 값을 출력하는 방법
객체 지향을 공부하다 getter/setter는 은닉성을 위해 지양하는게 좋다라는 글을 봤는데요..toString()을 오버라이딩 하는 것이 맞지 않나 생각했는데 toString()은 출력을 위한 메소드가 아니라 디버깅을 위한 메소드기 때문에 디버깅을 할 때만 사용하는 것이 좋다라는 말들이 있어서요 ..그러면 이럴 경우에는 DTO를 사용하는 것이 최선인가요?또한 getter가 없다면 dto에 어떻게 정보를 담아 View, Controller의 계층을 이동할 수 있는 건가요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
V1, V2차이 그리고 @ModelAttribute 기능에 대해서 질문이에용 ㅠㅠ
V1, V2 에서 값을 잘못 입력했을때 addForm으로 넘어가잖아요 V1은 잘못 입력한 데이터가 유지되는데 V2는 왜 유지가 되지 않나요?V1@PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { //검증에 실패하면 다시 입력 폼으로 if (!errors.isEmpty()) { log.info("errors = {} ", errors); model.addAttribute("errors", errors); //model.addAttribute("item", item) <<자동추가되는거아님? return "validation/v1/addForm"; }V2public String addItemV1(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { //검증에 실패하면 다시 입력 폼으로 if (bindingResult.hasErrors()) { log.info("errors={} ", bindingResult); //model.addAttribute("item", item)<<자동추가되는거아님? return "validation/v2/addForm"; }V1,V2 모두 @ModelAttribute 애노테이션에 의해서 model.addAttribute("item", item) 이 추가 된 후 item이 addForm으로 넘어가서 둘 다 값이 유지 돼야 된다고 생각 하는데.........제가 어디서 놓치고 있는지 모르겠습니당 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberserviceTest fail 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 회원가입만 썼을땐 잘 됬는데 중복 회원 예외 추가하고 나니 회원가입만 실행해도 안되네요.fail() 부분에서 에러가 뜨는데 fail을 try catch 부분의 문법이 아닌 일반 메서드로 인식하는것 같다고 생각이드는데 변경이 안되네요 ㅜㅠ다른 에러 일수도 있구요 도와주실 수있나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DI 의존성 주입 질문
안녕하세요 DI 관련해 질문이 있습니다.```java @Controller public class MemberController { private final MemberService memberService; @Autowired public MemberController(MemberService memberService) { this.memberService = memberService; } } private final MemberService memberService; final 키워드를 붙여주는 이유가 궁금합니다.memberSevice 를 변경하지 못하게 하는 이유가 무엇인가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 데이터 JPA 질문
@Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); return new JdbcTemplateMemberRepository(dataSource); return new JpaMemberRepository(em); }안녕하세요 위 코드를 JPA 사용할 때까지 계속 사용했는데 스프링 데이터 JPA 사용할 때는 왜 주석 처리 하는지 궁금합니다. 좋은 강의 해주셔서 감사합니다.