학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 본 강좌 커뮤니티의 다른 분들 해결사례처럼 build.gradle의 mybatis 부트스타터 버전을 2.3.2로 다운 그레이드하여 당장의 오류는 해결했습니다. 근데 왜 이런 오류가 터진건지 원인에 대한 궁금증은 남네요. 스프링부트3 이후로 어떤 이유로 더이상 동적 프록시 객체 생성을 해주지 않는건지, 아니면 아직 mybatis-스프링 연동 모듈의 업데이트가 늦어진게 이유인건지, 궁금합니다. @Mapper조회가 잘되지 않은건지 하여, MyBatisConfig에 @MapperScan("hello.itemservice.repository.mybatis") 어노테이션까지 넣어봤는데도 잘 안되었습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 1. 회원 서비스를 테스트할 때, DI를 하는 이유를 저는 아래처럼 이해했는데 이것이 맞는 이해인지 궁금합니다. MemberService() 를 실행하는 순간 MemoryMemberRepository 가 new로 생성되고, 그 다음줄에서 MemoryMemberRepository 를 새롭개 new로 생성한다. 현재의 코드에서는 Store 가 static 하게 선언되었으므로 그런 문제가 발생하지 않겠지만, 그렇지 않다면 MemberService 와 MemoryMemberRepository 가 서로 다른 레포지토리 인스턴스를 가지게된다. 위 내용이 맞다면, 모듈 테스트를 하지 않는다는 가정하에 해당 부분 뒤에 나오는 스프링 통합 테스트를 할 때는 이미 스프링 컨테이너에 레포지토리가 등록되어 있으므로 생성자를 활용한 의존성 주입이 필요없는 것이 맞나요? 아래 그림은 최종적으로 제가 구조를 이해한 것을 구조화 한 것인데 혹시 틀린 부분이 있는지 궁금합니다.
localhost:8080/servlet/members 주소를 입력해서 들어가면 이상한 파일이 다운로드가 되고 메인 id username age 1 김 10 2 spring 20이 나오지 않고 localhost:8080/servlet/members/save주소로 넘어가게 됩니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 강의 중에 강사님께서는 @Transactional 애노테이션을 사용하면 Rolled back transaction for test 로그가 뜨는데 저는 뜨지 않습니다. [제 로그] 저는 강사님께서 올려주신 코드를 사용하지 않고 따로 start.spring.io 를 통해 최신 버전을 사용하고 있습니다. [버전정보] 자바 버전: 17 스프링 부트 버전: 3.2.5 [질문 사항] 강의 중간에 로깅 단계를 바꾸는 작업이 있었는데 제가 그 부분을 놓친 것인지, 아니면 스프링 부트의 버전이 달라지면서 transaction 로그를 출력하지 않도록 바뀐 것인지것인지, 아니면 application.properties 등에 다른 설정을 해야하는 것인지 궁금합니다!
강의 수강 후 개인 프로젝트를 진행중입니다. 코드 리팩토링에 관한 문제인데요. validation강의할 때 강사님께서 web과 domain 계층을 분리해서 domain은 web을 모르지만 web은 domain을 알아야 하는? 알아야 되는? 것이라고 설명하셔서 그것에 맞게 코드를 작성중입니다. domain계층엔 직접 데이터베이스와 연동하는 엔티티와 레포지토리, 서비스를 저장했습니다. 그리고 web계층엔 컨트롤러와 컨트롤러에서 주고받는 폼들(엔티티에 저장하기 위한)을 저장했구요 컨트롤러는 최대한 기능만 보이게 깔끔하게 유지하려고 하는데 폼 객체->엔티티, 엔티티->폼 객체를 작성하는 코드가 지저분해지더라구요. 무심코 리포지토리에 이 메서드를 넣었다가 domian은 web을 몰라야 한다는 말씀이 생각나서 이 코드들을 컨트롤러에 옮기려고 하는데 실무에서도 보통 폼->엔티티로 바꾸는 작업 혹은 엔티티->폼으로 바꾸는 작업은 컨트롤러 단에서 하는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] [JPA 적용1 - 개발] 14:08 에서 일반적으로 비즈니스 로직을 시작하는 서비스 계층에 트랜잭션을 걸어준다고 했는데 Service + Repository 둘다 트랜잭션을 거는 경우도 있을까요? 둘다 트랜잭션을 거는 경우에 Service에서는 정상적으로 작동해서 트랜잭션이 걸리지 않고, Repository에서는 롤백이 되는 경우도 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 8:29강의 부분에서 id를 @GenerateValue를 쓰고, 테이블에서도 generateValue를 쓰는데 대신에 auto_increment를 써도 될까요? 안되는 이유가 있을까요? 쓸 수 있다면 어노테이션 @generatedValue대신 어떤 걸 쓸 수 있나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 전에 들었던 강의 복습하려고 보니까 junit이 import 안 되어있네요.. @test 를 쳐도 import가 뜨질 않아요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이와 같은 오류가 계속 뜨는데 어떻게해야하나요 스프링버전 3점대라 h2 2.1.214버전으로 다운했습니다.. 1.4버전으로는 됐는데 바꾸니까 안되네요 뭐가문제인건가요 ㅠㅠ
안녕하세요 잔재미님!! 늦은 시간에 죄송합니다. 몇 일간 MYSQL 때문에 삽질을 너무 하고 있네요 ㅠㅠ 일단 MYSQL 인텔_맥 버전 다운로드 받아서 설치했는데, 실행이 안되네요... 수십번 지우고 깔고 하다 또 요런 " ERROR! The server quit without updating PID file" 오류가 발생했습니다. 구글링으로 찾아서 해볼건 다해봐는데 안되네요~ 심지어 마리아DB도 해봤는데 마찬가지 오류가 발생하여 삭제를 했습니다... anaconda3 로 경로가 되어있는데 이게 문제인가요? 도저히 모르겠네요. 조언좀 부탁드립니다
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] basic.html 내용을 어디서 복사하는 것인지 알 수 있을까요?
. ____ _ /\\ / ___'_ __ ( _)_ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.5) 2024-05-21T15:07:05.718+09:00 INFO 7852 --- [servlet] [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 21.0.3 with PID 7852 (C:\Study\servlet\servlet\out\production\classes started by wo12l in C:\Study\servlet\servlet) 2024-05-21T15:07:05.725+09:00 INFO 7852 --- [servlet] [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default" 2024-05-21T15:07:07.089+09:00 WARN 7852 --- [servlet] [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Instantiation of supplied bean failed 2024-05-21T15:07:07.110+09:00 INFO 7852 --- [servlet] [ main] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2024-05-21T15:07:07.176+09:00 ERROR 7852 --- [servlet] [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Instantiation of supplied bean failed at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1223) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1161) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:202) ~[spring-context-6.1.6.jar:6.1.6] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:788) ~[spring-context-6.1.6.jar:6.1.6] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:606) ~[spring-context-6.1.6.jar:6.1.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.5.jar:3.2.5] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.5.jar:3.2.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.5.jar:3.2.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.5.jar:3.2.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.5.jar:3.2.5] at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[classes/:na] Caused by: java.lang.NoClassDefFoundError: jakarta/servlet/annotation/WebServlet at org.springframework.boot.web.servlet.WebServletHandler.<init>(WebServletHandler.java:39) ~[spring-boot-3.2.5.jar:3.2.5] at org.springframework.boot.web.servlet.ServletComponentRegisteringPostProcessor.<clinit>(ServletComponentRegisteringPostProcessor.java:62) ~[spring-boot-3.2.5.jar:3.2.5] at org.springframework.boot.web.servlet.ServletComponentScanRegistrar$ServletComponentRegisteringPostProcessorBeanDefinition.lambda$getInstanceSupplier$0(ServletComponentScanRegistrar.java:94) ~[spring-boot-3.2.5.jar:3.2.5] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainInstanceFromSupplier(AbstractAutowireCapableBeanFactory.java:1257) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:951) ~[spring-beans-6.1.6.jar:6.1.6] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1217) ~[spring-beans-6.1.6.jar:6.1.6] ... 16 common frames omitted Caused by: java.lang.ClassNotFoundException: jakarta.servlet.annotation.WebServlet at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[na:na] ... 22 common frames omitted Process finished with exit code 1 코드를 4:32초까지의 강의 내용을 따라적었는데 위 내용과 같이 뜨면서 종료가 됩니다. 해결방법알려주시면 감사하겠습니다.
view 파일에서 ${}는 포맷터가 적용이 안되고, ${{}}는 포맷터가 적용이 된다고 말씀해주셨습니다. - 8:12~ 개발자 도구에서 localhost:8080/formatter/edit에서 제출 버튼을 누르면 payload에 문자열 10,000과 2024-05-20 22:47:53이 담겨서 요청되는 것을 확인할 수 있었습니다. 이 값들이 뷰의 ${}에 도달하게 되서, 10000이 된다고 하면 이는 포맷터가 적용되어서 요청값 문자열인 10,000이 10000으로 출력되게 되는 것 아닌가요? 포맷터가 적용이 안된거라면 요청값 그대로 10,000이 출력되어야한다고 생각됩니다. 혹시 제가 잘못 이해하고 있는 부분이라면 보충설명 부탁드립니다! + 추가 질문 th:field=*{}는 자동 컨버팅이 되지만(중괄호 하나씩) th:text=${}는 자동 컨버팅이 되지 않는 게 맞나요?(중괄호 하나씩) 헷갈릴 수 있는 부분 같아서 확인차 여쭤봅니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] DataSourceUtils import가 안되어서 gradle refresh했더니 다음과 같은 오류가 뜨네요...
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] ddl.sql을 만드는데 강사님 처럼 sql 파일이 만들어지지 않고 ddl.sql 을 생성하면 *sql 파일은 intellig U 버전에서 지원한다고 되있습니다. 앞에 비슷한 내용을 질문하신분을 봤지만 저랑 상황이 조금 다르시더라구요