묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Practical Testing: 실용적인 테스트 가이드
빌더 사용에 대해 질문드립니다!
안녕하세요 선생님. 빌더를 사용하시는 것을 보고 흥미가 동해 질문남깁니다!선생님께서는 예제의 경우 대부분 생성자를 private으로 막아두고 빌더를 통해서만 객체를 생성하시는 것 같습니다.저는 필드 개수가 많아도 public 생성자로 열어두는 편인데, 그 이유는어떤 인자를 전달해야할지 인텔리제이의 힌트로 알아채기도 편하고필드가 null 일 수도 있는 경우 객체를 생성할 때 명시적으로 null 이 보이는게 낫다 라고 생각해서입니다. null을 명시적으로 인자로 전달하는 것이 불편하다면 텔레스코핑을 통해 생성자를 조금 더 만들어두기도 합니다 :)물론 빌더 패턴을 사용하면 이런 코드들이 전부(?) 사라지기는 하지만, 이 외에 빌더로 객체 생성을 강제하는 것에 대한 장점이 있는지 궁금합니다! 또, 선생님만의 빌더랑 생성자 선택 기준이 따로 있을까요? 마지막으로 실무에서도 자주 사용하시는지 궁금합니다. 좋은 강의 감사드립니다 :)
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
spring data jpa동적 업데이터에 관한 질문입니다.
안녕하세요 진짜 잘 보고 있습니다.저 spring data jpa공부하던 중 질문이 있어 글 남깁니다.예를 들어update memberset pass=?, addr=?, memo=?where id=?이런 식으로 sql이 만들어지고 pass,addr,memo는 사용자가 뭘 입력하냐에 따라서 변경하기 위한 입력값이 들어오는 경우도 있고 없을 수도 있습니다.한 사용자는 pass만 변경할 수도 있고 한 사용자는 memo만 변경할 수 있다고 가정할때 mybatis같은 경우 값이 설정된 값만 업데이트가 됐던 거 같은데jpa는 어떻게 해야 할까요?@DynamicUpdate를 추가해도......member.setId(id);member.setAddr(addr);member.setMemo(memo);repository.save(member);로 업데이트를 하면 id,addr,memo에 대한 업데이트 코드가 만들어집니다. 이거 동적 처리하는게 querydsl말고는 방법이 없는지 여쭤봅니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증 1, 2 관련 질문들
errors.properties에 args로 max나 range로 숫자를 넘길때 ","가 자동으로 추가됩니다. 예를 들어서 min={0} 이상이어야 합니다. 라고 Message를 설정했을때 화면에 "1,000 이상이어야 합니다." 라고 뜹니다. 하지만 저는 "1000 이상이어야 합니다." 라고 "," 없이 표현하고 싶습니다. 그렇다면 어떻게 수정해야할까요? max, range와 같은 경우에 Args를 넘기고 {0}, {1} 과 같이 설정한 메시지에서 받을 수 있었는데 typeMisMatch일때는 Args를 어떻게 넘겨 받을 수 있는지 알고 싶습니다. @ModelAttribute DTO 를 사용하지 않고 @RequestParam으로 하나의 객체를 받아올 때는 어떻게 validation 할 수 있을까요? 예를 들어서 @RequestParam MultipartFile attachFile 과 같이 attachFile이라는 객체만 받는다고 했을때 어떻게 validation 해야하나요? 객체가 하나라도 DTO를 만드는게 좋을까요 아니면 그냥 if 문을 활용해서 Model.addattribute로 넘기는게 좋을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 순서 관련해서 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]제가 3주 정도의 기간 안에 스프링부트의 틀을 빠르게 공부를 해야됩니다. 김영한 강사님의 강의를 들으려고 하는데 아래의 순서로 진행을 해도 될까요?스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술김영한의 스프링부트와 jpa 실무 완전 정복 로드맵 (야생형)
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
디렉토리 변경으로 인한 실행파일변경문제입니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]수업을 듣고 나서 강의 때 intellij에서 작성한 코드파일의 디렉토리를 변경하였는데 기존 파일과 다르게 일반.java파일로 변경이 되었습니다.이런 형태로 나와야 하는데 현재 디렉토리를 변경하고 나서 intellij를 실행하여 파일을 import했는데이와 같이 환경설정이 변경이 되었습니다. 어떻게 위에 수업 때처럼 환경설정을 하면 되는건가요..?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@RequestBody, BindingResult 질문드립니다.
안녕하세요.질문 하나 드리겠습니다.아래와 같은 controller 메서드가 있습니다.public String test(@RequestBody TestDto testDto) {}TestDto안에는 int 타입의 age이란 필드가 있는데요 { "age": "1234a"}이런식으로 요청을 넘겨주면TestDto 바인딩 과정에서 문자로 인한 에러가 발생합니다.저는 이때 이 예외를 감지해서 "나이는 숫자만 입력 가능합니다."이런식으로 메시지를 반환해 주고 싶은데요BindingResult를 사용해보니 @ModelAttribute에서만 가능한 것 같습니다. @RequestBody 사용시 이렇게 바인딩 오류가발생하는 경우를 제어할 수 있는 방법이 있을까요? 답변 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행이 오류가 뜹니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]아랫분의 질의응답을 참고하여 하려고 했지만 코끼리 아이콘을 누르면 재빌딩을 할 뿐 setup 관련 아이콘은 뜨지 않습니다.
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
16강 mysqldb 연동이 안되어요
mysql cmd로 서버연결하는거 안되네요 오류가 자꾸 나요cmd창이 아주 순식간에 떳다가 사라져요 그래서 동영상으로 찍고 캡쳐했어요해결방법 찾아보는데 너무 힘들어서 질문 올립니다 ㅠ아 참고로 맥북에 부트캠프로 윈도우 사용중입니다 그래서 그런걸까요?그냥 cmd랑 mysql 전부 다 잘 되는데 저것만 실행이 안되네요..
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
비관적 락 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]JPA 책 16장 확인하고 질문이 생겨서 글 남깁니다.강의에서 'for update'를 사용하는걸 보면 비관적 락인 'PESSIMISTIC_WRITE'방식인것같아요.그런데 이게 'PESSIMISTIC_READ'랑 어떤 차이가 있는지 잘 모르겠어요..검색해보니까 write가 읽기도 막는다고 적혀있는곳이 종종 보이는데,강의에서는 for update하고 다른 트랜잭션에서 읽기가 정상적으로 된것같아서요..제가 스프링에서 두 방식 설정해서 각각 실행시킨 다음에 mysql workbench에서 select문 실행시켰을때도 모두 문제 없이 읽혔어요어떤 차이가 있는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이상한 글자
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.html 관련 코드 복붙하고 실행하면 이렇게 뜨는데 왜 이런건가요??
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
실행시 'hibernate.dialect' not set 오류코드가 나옵니다.
코드를 아래 첨부파일과 같이 작성하고 실행을 시켜보니 위 처럼 DB 연동과정에서Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set오류가 뜹니다. 구글링을 통해 yml 코드를 아래와 같이 jpa값을 넣어서 수정하고 실행하면 spring:datasource:url: "jdbc:mysql://localhost/library" username: "root"password: ""driver-class-name: com.mysql.cj.jdbc.Driverjpa:database-platform: org.hibernate.dialect.MySQL5InnoDBDialectopen-in-view: falseshow-sql: truehibernate:format_sql: trueddl-auto: create서버의 실행은 되지만와 같이 DB가 비정상적으로 작동합니다. 어느부분이 문제일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테이블 생성 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다음과 같이 오류가 나는데 어떻게 해야할까요 ?
-
해결됨스프링 핵심 원리 - 기본편
프로토타입 @PreDestroy 관련 질문드립니다!
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 수업 막바지를 달리고있는데 PrototypeTest하는데서 질문이 생겼습니다Prototype으로 테스트를할때 close를 해도 아무결과가 나오지않는거면 @Predestroy는 없어도 상관이없는걸까요? 그리고 관리는 클라이언트가 어떻게 하는건지도 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
final 키워드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. MemberServiceImpl와 OrderServiceImpl에서 private final로 만들게 되는 것 같은데 final을 붙여야하는 이유가 궁금합니다. final을 붙일때와 붙이지 않았을때의 차이...?
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
assertThat import 문제
안녕하세요 강의를 진행하던 도중 assertThat의 import가이런 식으로 hamcrest의 import만 존재하는 이유가 무엇일까요?수동으로 import를 작성하면 문제없이 진행은 되고 있습니다.인터넷에 찾아보니 testImplementation 'org.assertj:assertj-core:3.20.2'을 추가하라는데 이미 spring-boot-start-test에 포함되어있어 문제는 없어보입니다.인텔리제이의 오류일까요?감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
springconfig에서 오류가 나요
제가 설정 파일을 만질 일은 없어서 주신 자료 그대로 복붙했는데 오류가 나서 여쭤봅니다..임포트가 왜 안될까요
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
강사님 6강 복습중에 질문이있습니다.
multiply하고나서 post man으로 구동해봤는데 200ok는 뜨지만 값이 0으로 계속뜨네요 ㅠㅠ
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
스프1탄을 보기 전에 나프1,2탄은 필수일까요?
안녕하세요. 현재 회사에서 일하고 있는 초보개발자입니다. 현재 강사님의 로드맵을 따라서 모든 강의를 사서 차근차근 보고있는 중인데,현재 회사에서 스프링으로 신규 프로젝트를 진행할 것 같아서 스프1탄을 먼저 보려고 하는데, 나프1탄과 나프2탄을 필수적으로 보고 스프1탄을 봐야할까요?나프1탄과 나프2탄은 보기에는 시간적으로 여유가 많이 없을 것 같아서 질문드립니다ㅠ
-
미해결3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]
6강 따라하다가 에러 발생했습니다!
2023-06-20 23:01:59,508 INFO [org.springframework.web.context.ContextLoader] Root WebApplicationContext: initialization started2023-06-20 23:02:00,929 DEBUG [org.egovframe.rte.fdl.cmmn.aspect.ExceptionTransfer] count of ExceptionHandlerServices = 22023-06-20 23:02:01,382 DEBUG [org.egovframe.rte.fdl.property.impl.EgovPropertyServiceImpl] [Properties Service] 프로퍼티 key = pageUnit, 값 = 10 은 이 설정파일에 정의되어 있습니다.2023-06-20 23:02:01,382 DEBUG [org.egovframe.rte.fdl.property.impl.EgovPropertyServiceImpl] [Properties Service] 프로퍼티 key = pageSize, 값 = 10 은 이 설정파일에 정의되어 있습니다.2023-06-20 23:02:01,479 WARN [org.springframework.web.context.support.XmlWebApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlMapClient' defined in file [C:\eGovFrame\eGovFrameDev-4.1.0-64bit\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-sqlMap.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [egovframework/sqlmap/example/sql-map-config.xml] cannot be opened because it does not exist2023-06-20 23:02:01,482 ERROR [org.springframework.web.context.ContextLoader] Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlMapClient' defined in file [C:\eGovFrame\eGovFrameDev-4.1.0-64bit\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Egov_WEB\WEB-INF\classes\egovframework\spring\context-sqlMap.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [egovframework/sqlmap/example/sql-map-config.xml] cannot be opened because it does not exist at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:934) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.20.jar:5.3.20] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.20.jar:5.3.20] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) ~[spring-web-5.3.20.jar:5.3.20] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) ~[spring-web-5.3.20.jar:5.3.20] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) ~[spring-web-5.3.20.jar:5.3.20] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4494) ~[catalina.jar:9.0.76] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4946) ~[catalina.jar:9.0.76] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.76] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328) ~[catalina.jar:9.0.76] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318) ~[catalina.jar:9.0.76] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-util.jar:9.0.76] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[?:?] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) ~[catalina.jar:9.0.76] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795) ~[catalina.jar:9.0.76] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.76] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328) ~[catalina.jar:9.0.76] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318) ~[catalina.jar:9.0.76] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-util.jar:9.0.76] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[?:?] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) ~[catalina.jar:9.0.76] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249) ~[catalina.jar:9.0.76] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.76] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) ~[catalina.jar:9.0.76] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.76] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:923) ~[catalina.jar:9.0.76] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.76] at org.apache.catalina.startup.Catalina.start(Catalina.java:772) ~[catalina.jar:9.0.76] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) ~[bootstrap.jar:9.0.76] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478) ~[bootstrap.jar:9.0.76]Caused by: java.io.FileNotFoundException: class path resource [egovframework/sqlmap/example/sql-map-config.xml] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199) ~[spring-core-5.3.20.jar:5.3.20] at org.egovframe.rte.psl.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:346) ~[org.egovframe.rte.psl.dataaccess-4.1.0.jar:?] at org.egovframe.rte.psl.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:301) ~[org.egovframe.rte.psl.dataaccess-4.1.0.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.20.jar:5.3.20] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.20.jar:5.3.20] ... 42 more
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
test폴더를 삭제해버렸습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 9:12 쯤 부분을 실습하다가JUnit4와 5를 설치와 삭제를 반복하다가실수로 test 디렉토리를 지워버렸습니다.그러니까 그 다음 단계에서 어노테이션이 다 빨간색으로 인식이 안되는데test 디렉토리 지웠을 때 어떻게 복구하면 되는지 궁금합니다.답변 부탁드립니다.