inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

regions의 컬랙션 객체

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

컨트롤러에서 Map 타입 region의 값을 넣어주는데 @ModelAttribute("regions") public Map<String, String> regions() { Map<String, String> regions = new LinkedHashMap<>(); regions.put("SEOUL", "서울"); regions.put("BUSAN", "부산"); regions.put("JEJU", "제주"); return regions; } Item 객체의 regions에는 값을 언제 넣어주는 지 궁금합니다. @Data public class Item { private List<String> regions; //등록 지역 } 아래 질문을 보면 https://www.inflearn.com/questions/298992/regions-%ED%95%84%EB%93%9C%EC%9D%98-%EA%B0%92%EC%9D%B4-%EC%B6%94%EA%B0%80%EB%90%98%EB%8A%94-%EB%8F%99%EC%9E%91%EB%B0%A9%EC%8B%9D%EC%9D%B4-%EA%B6%81%EA%B8%88%ED%95%A9%EB%8B%88%EB%8B%A4 스프링이 List 타입으로 선언한 regions에도 컬랙션 객체를 만들어서 자동으로 값을 넣어준다고 말씀하셨는데 하나는 Map이고 다른하나는 LIst로 서로 다른 컬랙션 객체인데 어떻게 값을 넣어 주는 지 궁금합니다. 정리하면 아래 addForm.html 코드에서 <!-- multi checkbox --> <div> <div>등록 지역</div> <div th:each="region : ${regions}" class="form-check form-check-inline"> <input type="checkbox" th:field="*{regions}" th:value="${region.key}" class="form-check-input"> <label th:for="${#ids.prev('regions')}" th:text="${region.value}" class="form-check-label">서울</label> </div> </div> <input type="checkbox" th:field="*{regions}" th:value="${region.key}">에서 item.regions에 값을 넣어주지도 않았는데 item.regions와 region.key가 어떻게 비교할 수 있는 지 궁금합니다.

  • spring
  • mvc
코딩먹는하마 댓글 1 좋아요 0 조회수 543

java.lang.IllegalArgumentException: Unresolvable class definition for class

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

섹션 6. 스프링 DB 접근 기술 의 순수 JDBC 강의 수강 중, 코드 작성 후 16분에 재기동을 하는데 다음과 같은 오류가 떠 원인과 해결 방법을 질문합니다. 윈도우 회사 PC로 실습 중이며, h2 db는 권한 없음으로 bat 파일 기동되지 않아 javaw -jar h2-1.4.200.jar 명령어로 기동했습니다. 해당 명령어로 기동 시 http://192.168.70.178:8082/login.jsp?jsessionid=5137fb26224e404a43f0ac762325f8d5 주소로 접속됩니다. 2023-05-09 16:53:54.867 ERROR 17292 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed java.lang.IllegalArgumentException: Unresolvable class definition for class [org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration$DatabaseShutdownExecutorEntityManagerFactoryDependsOnPostProcessor] at org.springframework.util.ClassUtils.resolveClassName( ClassUtils.java:331 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.TypeMappedAnnotation.adapt( TypeMappedAnnotation.java:474 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.TypeMappedAnnotation.getValue( TypeMappedAnnotation.java:397 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.TypeMappedAnnotation.asMap( TypeMappedAnnotation.java:283 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.AbstractMergedAnnotation.asAnnotationAttributes( AbstractMergedAnnotation.java:193 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.type.AnnotatedTypeMetadata.getAnnotationAttributes( AnnotatedTypeMetadata.java:106 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.type.AnnotatedTypeMetadata.getAnnotationAttributes( AnnotatedTypeMetadata.java:81 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.context.annotation.AnnotationConfigUtils.attributesFor( AnnotationConfigUtils.java:285 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation( AnnotationBeanNameGenerator.java:103 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName( AnnotationBeanNameGenerator.java:82 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.registerBeanDefinitionForImportedConfigurationClass( ConfigurationClassBeanDefinitionReader.java:169 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass( ConfigurationClassBeanDefinitionReader.java:150 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions( ConfigurationClassBeanDefinitionReader.java:129 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions( ConfigurationClassPostProcessor.java:343 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry( ConfigurationClassPostProcessor.java:247 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support .PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors( PostProcessorRegistrationDelegate.java:311 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support .PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors( PostProcessorRegistrationDelegate.java:112 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support .AbstractApplicationContext.invokeBeanFactoryPostProcessors( AbstractApplicationContext.java:748 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:564 ) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh( ServletWebServerApplicationContext.java:147 ) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:731 ) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:408 ) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:307 ) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:1303 ) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:1292 ) ~[spring-boot-2.7.11.jar:2.7.11] at juney.juneyspring.JuneySpringApplication.main( JuneySpringApplication.java:10 ) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:566 ) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run ( RestartLauncher.java:49 ) ~[spring-boot-devtools-2.2.10.RELEASE.jar:2.2.10.RELEASE] Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/data/jpa/EntityManagerFactoryDependsOnPostProcessor at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] at java.base/java.lang.ClassLoader.defineClass( ClassLoader.java:1016 ) ~[na:na] at java.base/java.security.SecureClassLoader.defineClass( SecureClassLoader.java:174 ) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass( BuiltinClassLoader.java:800 ) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull( BuiltinClassLoader.java:698 ) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull( BuiltinClassLoader.java:621 ) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass( BuiltinClassLoader.java:579 ) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass( ClassLoaders.java:178 ) ~[na:na] at java.base/java.lang.ClassLoader.loadClass( ClassLoader.java:521 ) ~[na:na] at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass( RestartClassLoader.java:144 ) ~[spring-boot-devtools-2.2.10.RELEASE.jar:2.2.10.RELEASE] at java.base/java.lang.ClassLoader.loadClass( ClassLoader.java:521 ) ~[na:na] at java.base/java.lang.Class.forName0(Native Method) ~[na:na] at java.base/java.lang.Class.forName( Class.java:398 ) ~[na:na] at org.springframework.util.ClassUtils.forName( ClassUtils.java:284 ) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.util.ClassUtils.resolveClassName( ClassUtils.java:324 ) ~[spring-core-5.3.27.jar:5.3.27] ... 30 common frames omitted Caused by: java.lang.ClassNotFoundException: org.springframework.boot.autoconfigure.data .jpa.EntityManagerFactoryDependsOnPostProcessor at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass( BuiltinClassLoader.java:581 ) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass( ClassLoaders.java:178 ) ~[na:na] at java.base/java.lang.ClassLoader.loadClass( ClassLoader.java:521 ) ~[na:na] ... 45 common frames omitted Process finished with exit code 0

  • java
  • spring
  • mvc
  • spring-boot
냠냠 댓글 2 좋아요 1 조회수 1576

다중 인터셉터의 경우 호출 순서가 어떻게 되는지 궁금합니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예/ 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. <스프링 인터셉터 - 인증 체크> 강의 수강 중 의문이 생겨 질문드립니다. 다중 인터셉터의 경우 ( 편의 상 1, 2 로 표기할게요) 구글링해보니까 pre 1 -> pre 2 -> 컨트롤러 호출 -> post 2 -> post 1 -> 요청 처리완료 -> after2 -> after 1 이 순으로 호출된다고 하는데 맞을까요? 그리고, 미인증상태로 items/add 를 들어갔을 때 pre2 까지 수행 후 리다이렉트 + return false; 니까 다음 인터셉터는 수행되지 않는다 생각해서 after1 도 수행되지 않을 거라 생각했는데 로그에는 수행이 되더라구요. 컨트롤러에서 예외가 발생한게 아니라, preHandle 에서 false를 반환하는 경우에도 afterCompletion은 수행되는건가요? 아니면 두번째 인터셉터의 preHandle이 false를 반환한거라 두번째 인터셉터만 건너뛰는거고 첫 번째 인터셉터랑은 무관해서 수행된걸까요? 2023-05-09 13:56:35.412 INFO 32688 --- [nio-8080-exec-7] h.login.web.interceptor.Loginterceptor : REQUEST [14810694-f53d-4526-9a1f-5b95b3c0c010] [/items/add] [hello.login.web.item.ItemController#addForm(Model)] 2023-05-09 13:56:35.419 INFO 32688 --- [nio-8080-exec-7] h.l.w.interceptor.LoginCheckInterceptor : 인증 체크 인터셉터 실행 /items/add 2023-05-09 13:56:35.427 INFO 32688 --- [nio-8080-exec-7] h.l.w.interceptor.LoginCheckInterceptor : 미인증 사용자 요청 2023-05-09 13:56:35.432 INFO 32688 --- [nio-8080-exec-7] h.login.web.interceptor.Loginterceptor : RESPONSE [14810694-f53d-4526-9a1f-5b95b3c0c010][/items/add][hello.login.web.item.ItemController#addForm(Model)] 2023-05-09 13:56:35.468 INFO 32688 --- [nio-8080-exec-6] h.login.web.interceptor.Loginterceptor : REQUEST [5fb2bde4-eba5-4f97-b294-bad2597bd5f1] [/login] [hello.login.web.login.LoginController#loginForm(LoginForm)] 2023-05-09 13:56:35.495 INFO 32688 --- [nio-8080-exec-6] h.login.web.interceptor.Loginterceptor : postHandle [ModelAndView [view="login/loginForm"; model={loginForm=LoginForm(loginId=null, password=null), org.springframework.validation.BindingResult.loginForm=org.springframework.validation.BeanPropertyBindingResult: 0 errors}]] 2023-05-09 13:56:35.529 INFO 32688 --- [nio-8080-exec-6] h.login.web.interceptor.Loginterceptor : RESPONSE [5fb2bde4-eba5-4f97-b294-bad2597bd5f1][/login][hello.login.web.login.LoginController#loginForm(LoginForm)] 2023-05-09 13:56:35.699 INFO 32688 --- [nio-8080-exec-8] h.l.w.interceptor.LoginCheckInterceptor : 인증 체크 인터셉터 실행 /favicon.ico 2023-05-09 13:56:35.699 INFO 32688 --- [nio-8080-exec-8] h.l.w.interceptor.LoginCheckInterceptor : 미인증 사용자 요청 2023-05-09 13:56:35.709 INFO 32688 --- [nio-8080-exec-9] h.login.web.interceptor.Loginterceptor : REQUEST [5ad8ae3f-2e48-479e-8013-4ffc72ecaf06] [/login] [hello.login.web.login.LoginController#loginForm(LoginForm)] 2023-05-09 13:56:35.709 INFO 32688 --- [nio-8080-exec-9] h.login.web.interceptor.Loginterceptor : postHandle [ModelAndView [view="login/loginForm"; model={loginForm=LoginForm(loginId=null, password=null), org.springframework.validation.BindingResult.loginForm=org.springframework.validation.BeanPropertyBindingResult: 0 errors}]] 2023-05-09 13:56:35.719 INFO 32688 --- [nio-8080-exec-9] h.login.web.interceptor.Loginterceptor : RESPONSE [5ad8ae3f-2e48-479e-8013-4ffc72ecaf06][/login][hello.login.web.login.LoginController#loginForm(LoginForm)] 혹시 여기서 말하는 '나머지 인터셉터'가 다른 인터셉터의preHandle만 의미하는 건가요? 그래서 postHandle, afterCompletion 이랑은 별개인걸까요 아직 내용을 잘 숙지하지는 못한 상태라 질문이 매끄럽지 못한점 양해부탁드려요. 감사합니다.

  • spring
  • mvc
니야옹 댓글 1 좋아요 0 조회수 1125

ResponseEntity와 @RestController

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요 강의 너무 잘 듣고 있습니다! 다름이 아니라 섹션 6. 스프링 MVC - 기본 기능 부분을 듣다가 궁금한 점이 생겨서 질문 드립니다. 우선 제가 이해하기로는 ResponseEntity를 사용하는 이유는 데이터(객체)와 함께 HTTP 응답 코드를 같이 반환 할 수 있기 때문이다 물론 @ResponseBody와 @ResponseStatus를 같이 쓰면 데이터와 HTTP 응답 코드를 같이 보내줄 수 있지만, @ResponseStatus는 애노테이션이기에 동적으로 HTTP 응답 코드를 설정할 수 없기에 ResponseEntity를 사용하는게 더 효율적이다 이렇게 두 가지 정도로 알고 있습니다. 여기서 제가 궁금한 점은 반환 타입이 ResponseEntity인 경우 왜 @RestController를 사용하는지 입니다. 그 동안 저도 ResponseEntity를 반환하는 컨트롤러에 @RestController를 항상 붙여줬는데, 강의를 보다 보니 ResponseEntity를 반환할 때는 @ReponseBody가 필요하지 않아서 @RestController가 아닌 @Controller로도 동작하는데 문제가 없어 보이기에 혹시 다른 이유가 있는지 궁금합니다. 개인적으로 생각했을때 ResponseEntity를 반환하는 컨트롤러에 @RestController를 쓰는 이유는 중간중간 ResponseEntity가 아닌 String, Object 같은 데이터만 반환하는 메서드가 있을 수 있고, 그런 메서드 마다 @ResponseBody를 붙이는게 번거롭기 때문에 @RestController 적용시 스프링 컨테이너가 Bean Scope를 template 영역까지 고려하지 않아서 resource를 절약할 수 있기 때문에(?) 이 두가지 정도 떠오릅니다. 만약 추가적으로 ResponseEntity를 반환하는 컨트롤러에서 @RestController를 사용하는 이유가 있을까요? 그리고 두 번째 이유는 저도 정확히 아는게 아니라 주변에서 들었던 부분인데 이 이유도 해당된다면 조금 풀어서 설명해주실 수 있을까요? 감사합니다!

  • spring
  • mvc
  • ResponseEntity
  • @restcontroller
이진혁 댓글 1 좋아요 2 조회수 1255

http://localhost:8080/hello 에서 에러가 나네요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 몇 번을 확인했는데 에러가 나서 찾기가 어렵네요 도움 부탁드립니다.

  • java
  • spring
  • mvc
  • spring-boot
ksd1003 댓글 2 좋아요 0 조회수 667

build 오류 발생 문의

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강의 잘 듣고 있습니다. cmd에서 선생님과 동일하게 build 명령어 입력했는데 실행 할 수 없다고 떠서 문의 드립니다. 관리자 모드 cmd에서도 동일한 증상인데 무엇이 문제일까요..?

  • java
  • spring
  • mvc
  • spring-boot
Hellokkk 댓글 2 좋아요 0 조회수 1200

6분28 초 카테고리 부모와 자식

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

@ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); 부모와 자식을 이렇게 설정해준다는데, 부모를 Many To One 자식을 One To Many 로 해주는게 이해가 안갑니다. 왜 이렇게 연관관계를 설정해 줘야 하는건가요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김지수 댓글 1 좋아요 1 조회수 831

templates html 실행

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

현재 IDE은 이클립스 사용중입니다. 내용은 모두 강의와 동일하고, 아래와 같이 html파일들을 위치시켰을 때, static에 저장된 index.html은 실행이 잘되는 반면에 templates에 저장된 hello.html과 hello-template.html은 가져오지 못하고 whitelabel error page 로 연결되는 오류가 발생합니다. 어떤 부분이 잘못되었는지 확인해봐야 하나요?

  • java
  • spring
  • mvc
  • spring-boot
nippert 댓글 1 좋아요 0 조회수 510

webapp에 대해 궁급합니다

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 내용] 여기에 질문 내용을 남겨주세요. main> webapp> index.html 의 경로로 설정하면 localhost:8080 실행시 기본으로 index.html 이 실행되고 이것이 welcome 페이지인 것은 이해하였습니다. 그럼 webapp을 컨트롤러를 사용하지 않아도 파일을 열 수 있도록 해주는 디렉토리 정도로 이해해도 될까요? 무조건 실행되는..? 근데 이렇게 생각하면 왜 basic.html도 있는데 index.html이 실행되는건지 헷갈리기도 하고.. webapp의 정의? 원리? 를 잘 모르겠습니다.. 답변 부탁드리겠습니다.

  • spring
  • mvc
공태성 댓글 1 좋아요 0 조회수 606

질문드립니다

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. BindingResult가 model로 자동 등록되서 타임리프 코드에서 th:object="${item}"이 여기서 등록된걸 참조하는것 같은데요 @ModelAttribute도 model로 자동 등록하지않나요? 그러면 item이라는 이름으로 model에 등록된게 같은이름으로 2개가 아닌지요?

  • spring
  • mvc
정중한 개구리 댓글 1 좋아요 0 조회수 375

수업자료 다운로드 위치가 안보입니다 ㅠㅠ

미해결

스프링 프레임워크는 내 손에 [스프2탄]

수업자료 ppt가 초반에 다운받는 링크가 어디 있었던걸로 기억하는데 해당 링크가 안보이네요 ㅠㅠㅠ.......

  • spring
  • jquery
  • mvc
  • jpa
  • spring-security
ten 댓글 1 좋아요 0 조회수 300

css style 태그 적용

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] CSS <style> 태그의 클래스이름과 body에서 input 태그의 클래스 이름 설정이 다른데 어떻게 적용이 되는지 궁금합니다. <style> .container { max-width: 560px; } .field-error{ // 이 부분 border-color: #dc3545; color: #dc3545; } </style> <div> <label for="itemName" th:text="#{label.item.itemName}">상품명</label> <input type="text" id="itemName" th:field="*{itemName}" th:class="${errors?.containsKey('itemName')} ? 'form-control field-error' : 'form-control'" class="form-control" placeholder="이름을 입력하세요"> <div class="field-error" th:if="${errors?.containsKey('itemName')}" th:text="${errors['itemName']}"> 상품명 오류 </div> </div> 아래 코드를 보면 오류 발생시 클래스 이름을 'form-control field-error'로 설정했는데 css를 보면 .field-error 으로 클래스 이름을 찾아서 적용하는데 어떻게 이렇게 되는지 궁금합니다.

  • spring
  • mvc
김승환 댓글 1 좋아요 1 조회수 446

MemorymemberRepository와 memberRepository에 대아혀

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

MemorymemberRepository가 memberRepository를 구현하고 있는데 그러면 이 부분에서 MemberRepository memberRepository; 로 선언하는게 아니라 MemoryMemberRepository memberRepository; 로 선언한 후 사용해야 하는것 아닌가요,,? 인터페이스를 구현한게 MemoryMemberRepository인데 memberRepository로 선언을 해서 계속 사용하면 MemoryMemberRepository에서 구현한 내용을 못보는것 아닌가요,,?? MemberRepository memberRepository = new MemoryMemberRepository(); MemberService memberService = new MemberService(memberRepository); 이런 식으로 따로 생성을 해서 사용해야 하는것이 아닌가 궁금합니다!

  • java
  • spring
  • mvc
  • spring-boot
jake991110 댓글 1 좋아요 0 조회수 813

view render 에 질문이 있습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 내용] 강의 약 19분 00초에서 view.render()를 해줄 때 모델 객체도 같이 넘겨줘야한다 하셨는데... 모델 객체는 왜 같이 넘겨주어야 하나요? 이미 view는 어떤 페이지로 갈지 알고 있고, request 값은 createParamMap(request) 를 통해 넘어온 값을 재정의? 해주는걸로 생각하고 있는데, 모델객체가 왜 필요한지 잘 이해가 안갑니다.

  • spring
  • mvc
gmldnjs0402 댓글 1 좋아요 1 조회수 688

인스턴스가 두개일 때

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강사님이 설명해주신 것 중 memberService쪽과 memberRepository에 있는 MemoryMemberRepository는 다른것이다 라고 말씀하셨습니다 따라서 인스턴스가 두개가 만들어진것이고 static이라 문제가 없을 테지만 static이 아니라면 다른 DB를 사용하는 것이기 때문에 내용이 틀려 질 수 있다고 하셨는데 여기에 대해서 더 자세히 알고싶습니다. 왜 다른 것인지 궁금합니다 좀 더 찾아보고 싶은데 어떤 개념을 검색해보면 될까요 ? 감사합니다.

  • java
  • spring
  • mvc
  • spring-boot
성유창 댓글 1 좋아요 1 조회수 393

HashMap 에 Integer를 넣어도 되지 않나요?

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 내용] 강의에서 약 10분25초 쯤에 MemberSaveControllerV3 에서 age 를 Integer 형태로 변환을 해주고 있는데 처음부터 HashMap에 String이 아니라 Integer 형태로 반환해주었다면 Integer 변환 처리는 안해도되지않나요?? HashMap 에 String, String으로 설정?한 이유가 궁금합니다.

  • spring
  • mvc
gmldnjs0402 댓글 1 좋아요 0 조회수 634

EntityManager 도 Component 로 인식하는 것인가요?

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요! 이전 수업에서 Autowired로 주입 시키려면 스프링 빈에서 관리하는 객체여야한다고 배웠고, 스프링 빈에서 관리하려면 @Component 어노테이션이 있어야 한다고 이해했습니다. 근데 EntityManager는 컴포넌트가 아닌데 왜Autowired 대상이 되는지 이해가 안됩니다ㅜㅜ 감사합니다..

  • java
  • spring
  • mvc
  • spring-boot
colorisland 댓글 1 좋아요 0 조회수 515

프로퍼티와 메서드의 초기화 질문입니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

public class student { public int score; public int getScore() { return this.score; } } 위와 같은 코드가 있고 연관관계 매핑이 되어있어 현재 프록시 상태라고 가정했을 때 점수를 얻기 위해 student.score를 사용 하면 영속성 컨텍스트로부터 초기화를 받지 못하고, student.getScoret()를 하면 초기화를 받는 건가요 ? 만약 프로퍼티 접근을 사용했을 때 초기화를 받지 모한다면 studnet.score 안에는 무슨 값이 들어있게 되는 건가요 ?

  • java
  • jpa
댓글 1 좋아요 0 조회수 344

문서에 오타가 있습니다!

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

타임리프 - 기본 기능 기본적으로 이스케이스(escape)를 제공한다. -> 기본적으로 이스케이프(escape)를 제공한다. 감사합니다:)

  • spring
  • mvc
Believer 댓글 1 좋아요 0 조회수 311

인기 태그

인프런 TOP Writers

주간 인기글