inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

지금들어도될지

미해결

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 혹시 나온지가 좀 된 강의인데 지금들어도 버젼이라든지 상관없을까요?

  • java
  • spring
  • mvc
  • spring-boot
김성민 댓글 1 좋아요 0 조회수 371

localhost:8080/hello일때 Whitelabel Error Page가 뜹니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] localhost:8080/hello를 가면 이렇게 뜹니다ㅜㅜ

  • java
  • spring
  • mvc
  • spring-boot
강준현 댓글 2 좋아요 0 조회수 586

컨트롤러에 @PostMapping 없어도 되나요?

미해결

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

createMemberForm.html내의 <form action="/members/new" method="post">를 보면 post메소드로 호출하고 있는데, MemberController.java 에는 @GetMapping("/members/new")만 있네요. @PostMapping("/members/new")이 맞지 않나요? 회원가입 클릭하니 주소표시줄에 http://localhost:8080/members/new라고는 뜨는데, 500에러가 납니다

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

validation(toMember)의 위치

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 강의 수강 중 질문이 생겨 여쭤봅니다. MemberServiceV1에서 memberRespository.update(fromId, fromMember.getMoney() - money); validation(toMember); memberRespository.update(toId, toMember.getMoney() + money); 해당 코드가 있습니다. 트랜잭션을 사용하지 않아서 테스트 코드에서 예외가 발생하며 memberA는 8000원, memberEx는 10000원이 된다고 말씀하셨는데, 근본적인 원인은 validation(toMember); 의 위치 문제가 아닐까 생각이 드네요 ..! validation(toMember); memberRespository.update(fromId, fromMember.getMoney() - money); memberRespository.update(toId, toMember.getMoney() + money); 이렇게 순서를 바꾸면 검증을 먼저 수행하고 이체를 하니 테스트 코드에서 둘 다 1만원으로 변동이 되지 않던데, 단순히 트랜잭션 이해를 위한 설명으로 생각하면 될지 싶어 여쭤봅니다 !

  • spring
  • mvc
  • spring-jdbc
wonderwall09in 댓글 2 좋아요 0 조회수 108

인코딩 문제

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니오 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 안녕하세요, 강의 수강 중 문제가 생겨 여쭤봅니다. validation/v2부터 따라하며 공부 중 갑자기 인코딩 처리가 안되고 깨지는 문제가 발생했습니다. 이것 저것 찾아도 해결되지 않아서 질문드리게 되었는데 혹시 어떤 것이 문제가 될 지 여쭤봐도 될까요 ? addForm, editForm, item, items.html에는 아래 사진처럼 utf-8로 설정해두었습니다. preference의 file Encodings에서도 utf-8을 설정해주었습니다. 서버를 띄우고 캐시 메모리를 비워봐도 여전히 같은 문제가 발생하던데 혹시 짚어볼 만한 원인이 더 있을까요 ?

  • spring
  • mvc
wonderwall09in 댓글 2 좋아요 0 조회수 72

libs에 폴더에 war 밖에 없습니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] -a---- 2025-06-22 오후 4:15 22515429 hello-spring-0.0.1-SNAPSHOT.war gradlew 실행하고 폴더를 이동했더니 war 파일 밖에 없습니다. jar 파일이 없는거면 처음부터 잘못된건가요?

  • java
  • spring
  • mvc
  • spring-boot
끌림 댓글 2 좋아요 0 조회수 91

db연결은 되는데 웹 페이지에서 회원 정보 데이터가 반영이 안됩니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] db는 연결이 되어있다고 하는데 막상 db콘솔에서 insert한 데이터가 웹 페이지 회원 목록 조회에서는 안뜹니다. 막상 회원가입을 하면 목록에 뜨는 상황입니다. 그리고 db를 끊어도 웹 페이지에서 회원 가입과 회원 목록 조회는 됩니다. 그리고 db를 연결한 상태에서 웹 페이지에서 회원가입을 하면 db에는 넘어온 정보가 없습니다

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

Console.WriteLine

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

백엔드에서 Console.WriteLine 찍은건 어디서 볼 수 있나요 ?

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
OFF 댓글 1 좋아요 0 조회수 82

강의내의 인텔리제이 기능

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 다름이 아니라 3:38쯤에 옆에 아이콘을 누르면 약간 확장이 되는 기능이 제 인텔리제이에서는 보이지가 않아서요. 어떻게 설정을 하는걸까요?

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

폼에서 에러 출력 로직? 질문 드립니다.

미해결

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

<form action="item.html" th:action th:object="${item}" method="post"> ... <div> <label for="price" th:text="#{label.item.price}">가격</label> <input type="text" id="price" th:field="*{price}" th:errorclass="field-error" class="form-control" placeholder="가격을 입력하세요"> <div class="field-error" th:errors="*{price}"> 가격 오류 </div> </div> ... </form> 타입정보가 맞지 않는 경우 뷰에서 에러 출력 로직이 어떻게 되는지 궁금합니다. 사진에서처럼 가격 정보에 qqq 를 입력했고 가격 입력 폼 아래 에러 정보가 출력되었습니다. 두가지 에러가 나타나는데요 한가지는 스프링이 직접 검증 오류에 추가한 경우의 오류와 저희가 직접 만든 오류입니다. 여기서 html 코드를 살펴보았는데요. 저는 두가지 오류가 생성되었기때문에 <div>도 두가지가 생성 되었을거라 생각했으나 페이지의 html 코드에서 <div>태그가 각각 생성되지 않고 하나의 <div> 태그에 줄바꿈 태그인 <br> 로 오류가 구분되었다는 점과 th:each 같은 것이 사용되지 않았다는 점에서 궁금한점이 생기는데요 어떻게 한가지 태그 안에서 두가지 오류를 출력 할 수 있나요? th:errors 에 뭔가가 있을 것 같긴한데요. 어떻게 되는건가요? 현재 두가지 오류 객체가 생성되는데 이것이 리스트 같은곳에 담겨서 이 리스트 자체가 erros에 내부(?)에서 반복을 실행한다거나 그런게 있을까요?

  • spring
  • mvc
yoon6669 댓글 1 좋아요 0 조회수 106

갑자기 실행이 되질 않습니다..

미해결

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

FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':hello.itemservice.ItemServiceApplication.main()'. > Process 'command 'C:\Users\.jdks\corretto-17.0.14\bin\java.exe'' finished with non-zero exit value 1 위와 같은 에러가 뜹니다. 어제까지 잘 하다가 오늘 갑자기 되질 않네요. 사실 섹션 6까지 다 듣고 다음 섹션인 로그인 처리로 넘어가서 프로젝트 생성하는데 이상하게 계속 안돼서 어제 한것을 실행해보는데 이것마저 안되네요.. 뭔가 연관이 있는건지... 왜이런건가요? 해결완료했습니다

  • spring
  • mvc
yoon6669 댓글 2 좋아요 0 조회수 95

Appearance 에서 번외로 알려주신 설정 적용하면 작동 안합니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 기본 설정인 Gradle로 할때는 문제없는데, 번외로 알려주신 설정인 인텔리제이로 돌리게 되면 스프링부트가 작동하지 않습니다. 해결 방법이 있나요?

  • java
  • spring
  • mvc
  • spring-boot
끌림 댓글 2 좋아요 0 조회수 122

순수 jdbc, jdbc 템플릿 ,통합 테스트할때 결과 주소값 질문

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 복습 할겸, 새로운 헬로우 스프링을 만들어서 다시 영상을 보면서 치고 있었습니다. 그리고 나서 테스트 케이스 만드는 부분이 잇었는데, 여기에서 저는 그냥 하는 김에 전부다 테스트 케이스를 만들자! 라는 생각이 들어서 만들었습니다. 그리고 나서 통합 테스트 영상까지 따라 치고 나서,(메모리 테스트 케이스를 복사 붙여 놓기를 한다음 @SpringBootTest @Transactional @Autowired는 추가 햇음) 테스트 케이스를 실행햇는데 테스트 케이스에서 노랑색 에러 메시지가 뜹니다. 이렇게요. 그래서. 전에 만든 helloSpring어떤가 시범을 해봤는데(코드를 똑같이 완전히 복사 붙여 놓기 하고 코드에 문제 없는지 확인.) 잘 되더 라고요. 근데. 빈 을 안 건드린게 생각나서 jpa템플릿에서 jdbc로 바꾸니 똑같이 오류나는 것을 확인할 수 있었습니다.(전에는 getId 로 비교해서 테스트 케이스를 통과한 것 같습니다.) (jpa 메모리 에서 통합 테스트 한것) 여기서 궁금증이 왜 jdbc에서는 객체의 주소값 이 다른지 알고싶습니다. 테스트에서는 뭐 알수가 없더라고요. 답변 부탁 드립니다.

  • java
  • spring
  • mvc
  • spring-boot
생각하는자 댓글 1 좋아요 0 조회수 91

ControllerAdvice와 Controller 이후 계층에서 발생하는 예외들

미해결

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

ControllerA - ServiceA - RepositoryA 위의 계층끼리 서로 연관되어있고 ControllerAdvice의 대상은 글로벌 컨트롤러이고 모든 예외를 @ExceptionHandler로 잡아놓았을 때, Q1. ServiceA나 RepositoryA에서 사용자예외 또는 자바,스프링이 제공하는 예외가 발생했을 때 따로 try-catch 같은 방법으로 예외를 처리하지 않으면 ControllerAdvice가 처리해주나요? Q2. 만약 처리해준다고 하면, 컨트롤러의 핸들러까지 예외가 역으로 전달되는 순간에 ControllerAdvice가 처리해주는 방식인가요?

  • spring
  • mvc
insub2004 댓글 1 좋아요 0 조회수 53

프로젝트 빌드 에러

미해결

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

이번 강의 시작하면서 message-start 폴더를 message 로 변경(받은 소스 파일 모음집에는 message 폴더가 있어 다른 폴더로 이동후 변경하였습니다) 변경 후 빌드 open project로 했는데 처음에 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 | 학습 페이지 이분과 비슷한 에러가나서 gradle.properties 를 distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip 로 변경했습니다. 이것은 현재 spring.stat.io에서 프로젝트 생성시 생기는 버전을 그대로 들고온것입니다. 그리고 싱크 후 다시 빌드하니 아래와 같은 에러가 뜹니다,. 여기서는 지금 어떻게 해야할지 모르겠습니다. 이전 프로젝트도 그렇고 이번 프로젝트도 그렇고.. 에러가 나는 분들은 많은 것같은데 다른 경우와 달리 pdf 파일에도 안내가 없어서 강의 진행에 좀 답답하네요. 이전 프로젝트처럼 다른 분께서 알려주신대로 start.spring.io 에서 message 라는 이름의 프로젝트를 생성후 강의에 올라온 main과 resource 폴더를 복사 붙여놓기해야하나요?

  • mvc
yoon6669 댓글 2 좋아요 0 조회수 244

외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다

해결됨

스프링 DB 2편 - 데이터 접근 활용 기술

@SpringBootTest class MemberServiceTest { @Autoworied lateinit var memberService: MembersService @Test fun get() { memberService.get(1L) } } @Service class MemberService( private val txManager: PlatformTransactionManager, ) { @Transactional(readOnly = true) fun get(id: Long) { val tx = txManager.getTransaction(DefaultTransactionAttribute()) println("isCurrentTransactionReadOnly()=${TransactionSynchronizationManager.isCurrentTransactionReadOnly()}") println("isActualTransactionActive()=${TransactionSynchronizationManager.isActualTransactionActive()}") println("isNewTransaction()=${tx.isNewTransaction()}") // get } } 제가 기대한건 isNewTransaction = true 인데요 -> 가장 처음 호출된 @Transactional이 있는 service 메서드이기 때문에 그런데 테스트 코드로 실행해도 그렇고, API로 get 메서드가 호출되도록 해봐도 그렇고 모두 isNewTransaction = false 로 나옵니다. 내부 트랜잭션이 아니라 외부 트랜잭션이라고 생각했는데 왜 false일까요.... 09:54:40.059 [Test worker] DEBUG o.s.o.j.JpaTransactionManager - Creating new transaction with name [com.application.service.member.MemberService.get]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readOnly 09:54:40.062 [Test worker] DEBUG o.s.o.j.JpaTransactionManager - Opened new EntityManager [SessionImpl(16208286<open>)] for JPA transaction 09:54:40.075 [Test worker] DEBUG o.h.e.t.i.TransactionImpl - On TransactionImpl creation, JpaCompliance#isJpaTransactionComplianceEnabled == false 09:54:40.075 [Test worker] DEBUG o.h.e.t.i.TransactionImpl - begin 09:54:40.081 [Test worker] DEBUG o.s.o.j.JpaTransactionManager - Exposing JPA transaction as JDBC [org.springframework.orm.jpa.member.HibernateJpaDialect$HibernateConnectionHandle@486e4af6] 09:54:40.083 [Test worker] TRACE o.s.t.i.TransactionInterceptor - Getting transaction for [com.application.service.member.MemberService.get] 09:54:40.084 [Test worker] DEBUG o.s.o.j.JpaTransactionManager - Found thread-bound EntityManager [SessionImpl(16208286<open>)] for JPA transaction 09:54:40.084 [Test worker] DEBUG o.s.o.j.JpaTransactionManager - Participating in existing transaction TransactionSynchronizationManager.isCurrentTransactionReadOnly()=true TransactionSynchronizationManager.isActualTransactionActive()=true outer.isNewTransaction()=false Creating new transaction with name 이 나오는데 09:54:40.084 [Test worker] DEBUG o.s.o.j.JpaTransactionManager - Participating in existing transaction 이 로그도 나옵니다,,

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
또또록 댓글 2 좋아요 0 조회수 111

@ModelAttribute와 model.addAttribute() 이름 차이.

미해결

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

강의 9분 20초 경부터 설명하는 pdf 내용 모델에 데이터를 담을 때는 이름이 필요하다. 이름은 @ModelAttribute에 지정한 name(value) 속성을 사용한다. 만약 다음과 같이 @ModelAttribute의 이름을 다르게 지정하면 다른 이름으로 모델에 포함된다. @ModelAttribute("hello") Item item -> 이름을 'hello'로 지정 model.addAttribute("hello", item); -> 모델에 'heelo' 이름으로 저장 이 설명에 대해서 궁금한 점이있는데요. 만약 다음과 같이 @ModelAttribute의 이름을 다르게 지정하면 다른 이름으로 모델에 포함된다. 이 부분이 이해가 잘 가지 않습니다. 위 두 코드 모두 모델의 키(이름?)이 결국 'hello'로 사용되고 뷰에서 또한 hello로 데이터를 꺼낼 수 있는 것 아닌가요? 그런데 다음과 같이 @ModelAttribute 이름을 다르게 지정 이라는 부분 때문에 헷갈립니다.. 어느 부분이 다른건지 모르겠고 제가 어느 것을 놓치고 있는지 잘못이해하고있는지 잘모르겠습니다. 둘다 hello로 모델에 저장되는 것은 매한가지같은데 어느 부분이 차이점이라는 것인가요?

  • spring
  • mvc
yoon6669 댓글 1 좋아요 0 조회수 108

gradlew 빌드 오류

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 계속 "내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 라고 뜹니다.

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

중복회원예외()에서 오류 발생

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 중복 회원 예외()에서 오류가 자꾸 발생합니다. @Test public void 중복_회원_예외() throws Exception { //Given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //When memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); //Then assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } } Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended java.lang.IllegalStateException: 이미 존재하는 회원입니다. at hello.hello_spring.service.MemberService.lambda$validateDuplicateMember$0(MemberService.java:39) at java.base/java.util.Optional.ifPresent(Optional.java:178) at hello.hello_spring.service.MemberService.validateDuplicateMember(MemberService.java:38) at hello.hello_spring.service.MemberService.join(MemberService.java:31) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support .AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728) at hello.hello_spring.service.MemberService$$SpringCGLIB$$0.join(<generated>) at hello.hello_spring.service.MemberServiceIntegrationTest.중복_회원_예외(MemberServiceIntegrationTest.java:45) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

  • java
  • spring
  • mvc
  • spring-boot
희연 댓글 2 좋아요 0 조회수 79

서블릿 생성과 등록 차이

미해결

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

이번 강의에서 @ServletComponentScan 에 대한 설명을 들으면서 궁금한 점이 생겼는데요, 서블릿 생성과 등록 차이에 대한 질문좀 드리겠습니다. ServletApplication 이 실행되고 @ServletComponentScan 이 붙어있으면 현재 내 패키지를 포함해서 하위 패키지를 뒤져서 서블릿을 모두 찾아 자동으로 서블릿을 등록해준다고 하셨습니다. 아마 서블릿 컨테이너에 등록하는 것이겠지요? (틀렸다면 말씀해주세요) 그런데 여기서 이 등록이라는 것이 서블릿 객체로 생성해서 등록하는 것인지 아니면 객체가 아닌 단순히 스프링 빈처럼 빈이름이라던가 해당 서블릿을 타입이라던가 그런것을 식별 정보만을 사용해서 등록한다는 것인지 궁금합니다. 왜 이 부분을 질문 드리냐면 이전 강의에서 서블릿 컨테이너의 역할중에 서블릿 객체를 생성하는 역할이 있다고 강의 하셨는데요. 서블릿이 자동 등록될 때 만약에 객체를 생성해서 객체가 등록된다면 @ServletComponentScan 은 단순히 스캔 및 서블릿으로 등록 판별만하고 서블릿 객체를 생성하는건 서블릿 컨테이너의 역할이 될 것 같은데 만약에 객체를 생성해서 등록하는게 아닌 스프링 빈처럼 @ServletComponentScan 이 이름, 타입같은 정보로만 등록하는 것이라면 서블릿 컨테이너의 서블릿 객체 생성 역할은 언제 일어나고 언제 사용되는건지 잘 모르겠습니다. @WebServlet에서 알맞은 url 매핑 요청이 들어왔을 때 그제서야 서블릿 컨테이너에 있는 정보를 바탕으로 서블릿 객체를 생성하고 request와 response를 받는 식인가요? 결국 제가 궁금한건 @ServletComponentScan 에서 말하는 자동 등록이 스프링 컨테이너가 하는 객체 생성까지 포함인지, 아니면 별도의 정보로 등록하고 컨테이너가 하는 객체 생성도 별개의 것인지 궁금합니다. 감사합니다!

  • spring
  • mvc
yoon6669 댓글 1 좋아요 1 조회수 110

인기 태그

인프런 TOP Writers

주간 인기글