다른 질문들 참고해서 모든 레포지토리와 서비스들 @RequiredArgsConstructor 달고 final 키워드까지 확인했습니다! 그런데도 테스트에서 에러가 나서 어떤 부분을 봐야할지 잘 모르겠습니다 추가로 다음과 같이 코드를 바꾸니 에러 메시지가 바뀌었습니다. 필드 주입을 쓰든 롬복을 통해 @RequiredArgsConstructor 을 통해 주입해주든(생성자주입) 차이가 없다고 알고 있었는데 결과가 다르게 나와서 왜 저런 차이가 생겼는지 잘 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1편 완강하고 2편으로 넘어가서 보다가 다시 1편 다시 복습하려고 인텔리제이를 2편에서 새로 만들던 프로젝트 닫기하고 1편에서 공부하면서 만들어서 타이핑 쳤던 servlet 프로젝트를 켰는데 서블릿 프레임워크 들이 다 어디로 삭제되었는지 어디서 오류가 발생했는지 import 되어야 할 부분이 다 빨갛게 변했습니다. Alt + Shift + Enter 나 Find JAR on Web 등 마우스 커서 올려서 눌러볼 수 있는 걸로 해결하려고 해도 방안을 못찾고 있습니다. 프로젝트를 삭제하고 다시 만들어야 하나요? 되살릴 수 없는 방법 있을가요? 그 동안 스프링MVC 1편에서 만들었던 프로젝트에서 모든 클래스가 다 빨갛게 변했습니다 ㅠㅜ Run on Server 돌리면 클래스를 찾을 수 없다고 나오는데 어떻게 해야할지 못 찾겠습니다..ㅠㅜ 중간에 강의보면서 구글링 검색하고, build.gradle -> dependencies 에 빠진 항목 있나 살펴보다가 providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 를 확인하고 타이핑 쳐서 적용하고 다시 실행하면 빨간 색 글씨는 다시 원래대로 정상으로 돌아가는데 spring 은 구동은 되는데, 어디서 부터 에러가 발생했는데, 버젼이 안 맞는건지, 여기서 부터 잘 모르겠습니다.... 콘솔창에는 이렇게 나옵니다. ------------------------------------------------------------------------------------ 2021-07-20 16:51:39.087 WARN 38188 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet 2021-07-20 16:51:39.103 INFO 38188 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-07-20 16:51:39.145 ERROR 38188 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:196) ~[spring-context-5.3.7.jar:5.3.7] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.7.jar:5.3.7] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.7.jar:5.3.7] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1336) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1325) ~[spring-boot-2.5.0.jar:2.5.0] at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[classes/:na] Caused by: java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet at org.springframework.boot.web.servlet.WebServletHandler.<init>(WebServletHandler.java:39) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.web.servlet.ServletComponentRegisteringPostProcessor.<clinit>(ServletComponentRegisteringPostProcessor.java:49) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.web.servlet.ServletComponentScanRegistrar$ServletComponentRegisteringPostProcessorBeanDefinition.lambda$getInstanceSupplier$0(ServletComponentScanRegistrar.java:94) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1231) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1173) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.7.jar:5.3.7] ... 13 common frames omitted Caused by: java.lang.ClassNotFoundException: javax.servlet.annotation.WebServlet 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] ... 20 common frames omitted
41번 연속된 자연수의 합(단순 수리)의 코드를 i를 1부터 증가시켜서 연속되는 자연수의 합이 주어진 수를 만족하는 경우에 해당 수들을 출력하도록 코드를 짜보았는데, 이렇게 해도 되는건가요? 혹시 틀린 부분이 있다면 알려주시면 감사하겠습니다. #include<stdio.h> using namespace std; int main(){ //freopen("input.txt", "rt", stdin); int n, i, k, sum, tmp, cnt=0; scanf("%d", &n); for(i=1; i<n; i++){ sum=0; tmp=i; while(sum<n){ sum+=tmp; tmp++; } if(sum==n){ for(k=i; k<tmp-1; k++){ printf("%d + ", k); } printf("%d = %d\n", k, sum); cnt++; } } printf("%d\n", cnt); return 0; }
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 테스트 코드에서만 기본적으로 롤백 기능을 하는건가요? 테스트 코드가 아닌 곳에서는 기본적으로 롤백 기능을 안하는건지 헷갈리네요..ㅠㅠ
예를 들면 <<Value Type>> public class UploadFile { private String uploadFileName; private String storeFileName; } <<Entity>> public class Member { private Long id; private Uploadfile memberProfileImg; private Uploadfile memberFriendImg; } 이렇게 사용하고자 했을 때 값 타입의 컬럼명이 겹칠 것 같은데 DB에서는 어떻게 해석하나요?
JS의 기본적인 문법을 숙지하고 해당 강의를 수강 중입니다. 해당 수업의 코드에 const {User} = require('./~');라는 코드가 있습니다. JS변수에 대해 배울 때 변수 선언 시 {}로 변수명을 둘러싸는 것을 본 적이 없어서 어떻게 이해하면 될지 궁금하여 질문드립니다.
아래 캡처처럼 npm run dev 를 쳤는데 저렇게 나옵니다. 몽고db가 제대로 연결이안된건지 아니면 dependency가 제대로 설치가안된건지 잘모르겠네요. 그리고 제가 몽고db url을 다른작업하는것들도 있어서 localhost:3005로 했는데 상관없는거죠? 보시고 답변주시면 감사합니다!
안녕하세요 기본적인 질문일수도 있지만 중간중간에 코드 작성하신 후에 커서를 해당줄에 마지막으로 이동하시던데 단축키 어떤거 쓰시는건가요?? ex. Book item //커서 위치 1//= createBook(....); Book item = createBook(....); // 커서위치 2// 위와 같이 커서 위치 1 -> 커서 위치 2로 이동하는 상황과 같은 경우입니다.
commit은 해당 정보를 스냅샷해서 저장한다는 개념이잖아요? 즉 변화가 일어났든지 일어나지 않든지 1시에 커밋했다가 2시에 컷밋할 수도 있잖아요? 별로 의미가 없을지는 모르겠지만 논리적으로 오류는 없으니까 가능하지 않을까 생각했습니다. 그래서 test할 때 tx.commit()을 try catch 문의 finally에 넣어보았습니다. 변화가 있든지 없든지 롤백되든지 commit() 해라는 의미로요. tx.begin(); try{ 로직 } catch(Exception e){ tx.rollback(); } finally{ tx.commit(); em.close(); } 일단 로직은 tx.commit()을 catch 안에 뒀을 시 예외가 발생하는 로직입니다. 아무튼 tx.commit을 finally 안에 넣고 실행하면 Transaction not successfully started 라는 애러가 뜨게 됩니다. 질문을 정리하자면 1. 변화가 없는 상테에서 commit이 가능한가요? 2. 왜 finally 안에 tx.commit()이 있으면 Transaction not successfully started 오류가 발생할까요?
안녕하세요 ! 재밌게 강의듣고 있습니다. 저도 회사에서 엔터프라이즈 버전인 얼티밋을 깔아서 사용하고 있는데 김영한님과 다르게 빈 이름 파라미터에서 빈에 등록된 이름들이 조회되지 않습니다 ㅠㅠ 혹시 관련된 기능을 활성화할만한 옵션이나 설정이 있을까요? 영어로 찾아봐도 잘 나오지는 않네요.. 혹시 아시나 해서 질문드립니다 ! 감사합니다 ~~
안녕하세요 선생님! 강의 너무 잘 듣고 있습니다. 저는 야생형으로 듣고 있어서 아직 JPA는 잘 모르는데 find() 메서드에 들어갈 수 있는 파라미터는 Entity 클래스에서 PK로 지정한 필드만 들어갈 수 있는 건가요?? 밑의 질문에도 비슷한 질문이 있었는데 만약 id가 아닌 주민번호를 PK로 지정했다면 주민번호 필드만 들어갈 수 있는 건가요?!
안녕하세요. 기존 MyBatis에서는 <where> <if test="name != null and name != ''"> name LIKE concat('%', '#{name}, '%') </if> <if test="loc != null and loc != ''"> OR loc LIKE concat('%', #{loc}, '%') </if> </where> ORDERY BY deptno DESC 이런 쿼리문이 있는데요. 공학이 포함된 이름만 보여주는 걸 짜고 있는데요. 기존 강의에서 conatains()를 하면 like '%member%' 이렇게 된다고 알려주셨는데 이런경우는 contains() 로 하고 or절로 하는게 괜찮을까요? 아니면 where 다중 파라미터로 하는게 나을까요.. 제가 먼저 다중파라미터로 해보고 있는데요. 예제에서는 String usernameParam = "XXX"; Integer ageParam = 10; 이런식으로 한개만 먼저 하셨는데 미리 사전데이터 입력같은 경우는 어떻게 해야될지 모르겠어서 질문드립니다. ㅜ (Test 파일에다가 assertThat 테스트 하려고 미리 넣어둔 데이터 입니다.) @BeforeEach public void before () { queryFactory = new JPAQueryFactory ( em ) ; Department department1 = new Department ( " 컴퓨터공학과 " , "103 호 " ) ; Department department2 = new Department ( " 정보통신공학과 " , "103 호 " ) ; Department department3 = new Department ( " 음악과 " , "104 호 " ) ; Department department4 = new Department ( " 국어국문과 " , "104 호 " ) ; em . persist ( department1 ) ; em . persist ( department2 ) ; em . persist ( department3 ) ; em . persist ( department4 ) ;
EOF 단 하나만을 입력하는 경우에는 정상적으로 반복문 탈출이 가능합니다 하지만 예를 들어 aaEOF처럼 다른 데이터와 함께 입력하는 경우에 EOF는 -1이 아니라 26을 출력하며 반복문을 탈출하지 못합니다 이유를 알고 싶습니다 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int c; while (1) { c = getchar(); printf("%d\n", c); if (c == EOF) break; } return 0; }