묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
loggback 이상한 로그들 제외 문의
안녕하세요. 처음부터 열심히 강의를 듣고 있는 수강생입니다. 다름이 아니라 저는 STS, Gradle-Groovy로 진행을 하고 있는데요.해당 강의에서 logback을 설정하니 엄청나게 많은 로그가 나와서 쿼리로그만 나올 수 있게 할 수 있는지에 대해 문의드립니다. <일부분 로그만 복사> WebSocketServletAutoConfiguration.UndertowWebSocketConfiguration: Did not match: - @ConditionalOnClass did not find required class 'io.undertow.websockets.jsr.Bootstrap' (OnClassCondition) XADataSourceAutoConfiguration: Did not match: - @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager' (OnClassCondition)Exclusions:----------- NoneUnconditional classes:---------------------- org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration /Sailing/src/main/resources/logback-spring.xml<?xml version="1.0" encoding="UTF-8"?><configuration> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <Pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative] [%thread] %-5level %logger{36} - %msg%n</Pattern> </encoder> </appender> <!-- Logback 은 5단계의 로그 레벨을 가진다. 심각도 수준은 off > Error > Warn > Info > Debug > Trace 이다. --> <!-- name은 package 이름 --> <logger name="com.boot.sailing" level="Info"/> <root level="Debug"> <appender-ref ref="console"/> </root></configuration> 감사합니다.
-
미해결실전! 스프링 데이터 JPA
BaseTimeEntity를 Item 에서 extends 해서 사용할 경우에는 어떻게 해야하는건지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용]여기에 질문 내용을 남겨주세요. 해당 강의에서는 Item 내부에 createdDate 필드를 만들고 implements Persistable을 할 때 isNew 함수가 createdDate == null 을 하더라도 문제없이 동작할 수 있음을 확인했습니다.그런데 Item 자체가 public class Item extends BaseEntity implements Persistable<String> 이런식이라면즉, createdDate가 Item class 내부가 아닌, 외부에 존재한다면 isNew 함수를 만들때 createdDate를 참조해올 수 없는데 어떻게 해결해야하는지 궁금합니다.제 개인적으로 해결방안이라고 생각한 것은BaseTimeEntity의 createdDate를 public으로 오픈한다.BaseTimeEntity에서 implements Persistable 을 받고 isNew함수를 정의한다.이렇게 할 경우에 추가적으로 생기는 문제점은 getId() 함수를 Override해야하는데, BaseTimeEntity class 내부에 id 값이 따로 없어서 곤란하다고 여겨집니다.getId() 함수를 만들어도 엔티티마다 id의 타입이 다를 수도 있다고 생각되는데 타입 문제는 어떻게 해결해야하는지 모르겠습니다.이정도 두 가지가 떠오르긴 했는데, 효과적인 방법은 아니라고 생각되어프로젝트 개발시에 엔티티들이 공통적으로 BaseEntity, BaseTimeEntity를 상속받고 있는 상황일때는 isNew함수를 어떻게 정의해야하는지 알려주시면 감사하겠습니다.
-
미해결스프링 배치
멀티스레드 환경에서의 트랜잭션 및 lock 관련 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님! 강의를 듣고 정말 많은 도움을 받고 있습니다! 멀티스레드 환경 부분을 듣고 직접 이것저것 해보면서 몇가지 질문 사항이 있습니다. 1) 트랜잭션 스프링 배치에서 시작하는 트랜잭션 외에 ItemProcessor에서 다른 service(@Transactional)를 호출하여 데이터 처리를 하게 되는 경우 앞서서 배치가 생성해놓은 트랜잭션에 함께 포함되는 것이 아니라 별도로 트랜잭션이 열리게 된다는 다른 질문의 답변을 보았습니다! 그렇다면 배치의 트랜잭션이 끝나는 시점이 서비스 트랜잭션이 끝나는 시점과 다를텐데요. 이 때 배치의 트랜잭션이 종료되는 시점은 service처리가 다 이후 write처리까지 다 끝난 이후 인지, service 트랜잭션의 종료와는 상관 없이 트랜잭션이 종료 되게 되는 것인지 궁금합니다. + 트랜잭션의 종료 시점이 다르게 될 경우 발생될 수 있는 문제들은 어떻게 처리하게되는 걸까요?(배치를 돌릴때 최대한 다른 트랜잭션을 열면 안되는 것인지 궁금합니다!) ( org.hibernate.LazyInitializationException : failed to lazily initialize a collection of role 예외, 트랜잭션을 닫을 시점에 entity manger is null (AbstractItemCountingItemStreamItemReader.close)예외가 발생하였는데 이것과 관련되어있는지도 궁금합니다...!)2) 멀티스레드 환경의 chunk 배치 멀티스레드 환경에서 chunk 배치를 사용하는 경우 JpaPagingItemReader를 사용한다고 가정하였을때, '스레드 동기화를 보장'한다는 것에 대해 궁금한데요. 예를 들어, 쓰레드가 5개인 환경에서 조회할 값이 isSample 컬럼이 false인 데이터 100개라고 가정하고 pagingItemReader를 이용해서 offset을 0으로 두고 10개씩 (chunksize = 10, pageSize = 10) 읽고 processor가 isSample 컬럼을 true로 바꾸는 역할을 수행하는 것을 가정합니다. 먼저 1~10번의 아이템을 각각의 1~5번의 스레드가 10개의 각각의 아이템을 할당 받는 과정에서 동기화(중복된 아이템을 스레드가 겹쳐서 읽지 않음)를 이루고 처리후 다음 10개를 읽고 처리하는 과정을 반복한다고 이해하였는데요. 이때, 만약 처음 1~10번의 아이템을 읽고 처리하는 과정에서 한 스레드가 처리과정에서 오랜 시간이 소요되는 병목지점이 발생한다면 commit이 이루어지지 않고, 다음 아이템 11~20번을 읽을때 앞서서 처리되지 않은 아이템을 다시 읽어오고 또다시 병목 지점이 발생할 수도 있고, 결과적으로 같은 아이템을 다른 스레드가 중복으로 처리하게 될 수도 있을 텐데 이럴경우 어떻게 처리가 이루어지는지 궁금합니다. (이런 부분에서는 동기화가 이루어지지 않는 것인지, 제가 이해한 과정이 맞는지도 궁금합니다...!) 3) synchronizeditemstreamreader를 사용하는 경우 lockSynchronizedItemStreamReader를 사용하는 경우에는 동기화를 위해서 쓰레드가 lock을 획득하고 처리하는 과정이 이루어진다면, DB connection의 갯수는 항상 쓰레드의 갯수보다 많게 유지해야 하는 걸까요? ( 작게하면 Connection is not available, request timed out after 오류가 뜨고 있습니다...!)강의 정말 잘 보고 있습니다! 감사합니다 강사님!
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
insert 문제
질문에 defer-datasource-initialization: true 추가하라해서 했는데도 안됩니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
인증 관련해서 질문드립니다.
안녕하세요. 정말 유용한 강의 해주셔서 감사드립니다. 인증 처리 관련해서 궁금한점이 있어 질문 드려요!!궁금한점은 로그인 이외 요청에서는,AuthenticationFilter 를 통과하지 않고 진행되는 것인가요?.antMatchers("/**") .hasIpAddress("172.30.1.60") .and() .addFilter(getAuthenticationFilter()); 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
컴파일 오류
구글링 해서 여러가지 방법들을 시도해봤지만 컴파일 에러가 사라지지 않습니다ㅜㅜProject: Gradle-GroovySpring Boot: 3.0.2Java: 17Java Version: openjdk 17.0.6
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카에 잘못된 데이터를 보냈을 때 해결 방법이 궁금합니다
제가 처음에 json 파일을 아예 잘못된 형식으로 보내는 바람에 kafka sink connector가 fail 상태가 되었었습니다.근데 문제는 이 상태에서 sink connector를 재실행을 해도 source connector랑 sink connector, topic까지 모두 새로 만들어도 계속해서 task에 잘못 요청한 데이터가 남아있어서 아무리 오랜 시간을 기다려도 계속해서 Exception이 발생한 상태가 되어 있습니다..결국 한참을 구글링하면서 찾아보다가 토픽 내에 있는 메세지를 삭제하는 방법을 찾아서 해결했습니다 ㅜㅜ 여기서 제가 궁금한 점은source connector에 잘못된 정보를 보내는 바람에 sink connector가 먹통이 되어버리면 메세지나 토픽 자체를 수동으로 삭제해주는 것 외에는 방법이 없을까요? 구글을 찾아봐도 마땅한 방법을 찾지 못했습니다이건 제가 카프카에 대해 아직 똑바로 이해하지 못해서 나온 질문인데, connector랑 topic까지 모두 따로 만들어도 하나의 sink에서 문제가 생기면 모든 커넥터가 정상적으로 동작하지 않는 게 원래 이런 게 맞는 건지 궁금합니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ppt와 공부방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)아직은 입문을 듣고있는데 자바에 관련된 책을 보고 김영한님의 스프링공부를 하는중입니다.조금 어렵긴 한데 어떻게 공부하는게 좋을까요 사실 하다보면 내가 만들수 있을까란 생각도 종종듭니다 .ㅜㅜ 자바 공부를 잘 못한거인지 , 아니면 계속 코딩하다보면 익숙해질지 궁금하구요 중간중간에 보는 ppt자료는 어디에 있는지 모르겠습니다3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨실전! 스프링 데이터 JPA
안녕하세요 p6spy관련해서 질문드립니다.
안녕하세요 항상 강의 잘 보고 있습니다.다름이 아니라 강의 후반부에 p6spy관련해서 설명해주시는 부분이 있는데 강의자료에 스프링부트 3.0에서는 p6spy가 지원하지 않는다 하여 강의자료에 있는 내용대로 진행을 했지만 파라미터가 제대로 바인딩 되지 않는 듯하여 질문을드립니다.혹시 왜 그런지 한번 봐주실수 있을까요?아래는 현재 저의 프로젝트 파일 다운로드 경로입니다.https://drive.google.com/file/d/13kY6u4sYQLm6hCevyfRV_tqxFtbx2o0i/view?usp=sharing
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
json 질문
{"hey":"guy","anumber":243, "anobject":{"whoa":"nuts","anarray":[1,2,"thr<h1>ee"],"more":"stuff"}, "awesome":true,"bogus":false,"meaning":null,"japanese":"明日がある。","link":"http://jsonview.com","notLink":"http://jsonview.com is great"}json안에 json 으로 데이터를 보낼려면 어떻게 해야하나요?
-
미해결스프링 시큐리티
usernameDetailService 객체 null
userDetailsService 가 null값으로 나오는 문제관련하여 해결을 하지 못하고 있습니다. 현재 회원가입후에 로그인 진행할시 미인증유저의 authenticaion객체는 잘 들어오고 있으나, userDetailService가 null이라서 exception처리가 되고 있습니다. @Autowired가 가져올 수 없는 상태라고 생각하여 어노테이션 주입여부를 확인하였는데, 해당부분은 잘 입력이 되어져 있습니다.특히나 이상한 부분은 passwordEndcoder를 이미 다른곳에서 쓰고 있는데 CustomAuthenticationprovider 클래스 내부에서만 생성이 되지 않고 있습니다. 제가 무엇을 빼먹은 것인지 잘 모르겠어서 질문을 남깁니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
db connect 안됨
security부분 건너뛰고 jpa부분 부터 하고있는데 db connect 부분이 오류나서 ,yml에 datasource: hikari: jdbc-url: jdbc:h2:mem:testdb username: sa하니 연결은 되었는데 실해하니까 create table이 만들어지지 않고org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "drop table if exists user cascade " via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString(SchemaDropperImpl.java:419) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlStrings(SchemaDropperImpl.java:403) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.internal.SchemaDropperImpl.dropFromMetadata(SchemaDropperImpl.java:272) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.internal.SchemaDropperImpl.performDrop(SchemaDropperImpl.java:178) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:149) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:117) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:242) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143) ~[hibernate-core-6.1.6.Final.jar:6.1.6.Final]오류가 뜹니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 버전, 자바 버전
스프링부트 버전이 현재 2버전은 2.7.8밖에 없는데 자바11로 다운 받았으니 3버전 안하고 2.7.8로 하고 나머진 강의 그대로 해도 될까요??현재 화면입니다. 이렇게 설정해도 문제없는지 질문드립니다. 자주하는 질문에 보니 스프링부트 3버전부터는 Java17이상을 다운받아야한다고 나와있는데, 원래 Java19가 있는데 지웠다 11로 다시 설치한 상태라 컴퓨터에 Java여러 버전이 제대로 지워지지 않으면 오류가 날까봐 있는 버전으로 가능할지 질문드립니다.
-
미해결토비의 스프링 부트 - 이해와 원리
프로퍼티 빈의 후처리기 도입 강의 질문입니다
13:48 ~ 13:53 강의 중에@EnableMyConfigurationProperties(ServerProperties.class)@EnableMyConfigurationProperties 에 엘리먼트 정의를 안해주셨다고 설명해 주신 뒤Class<?> 만 치고 강의가 넘어가는 현상이 있습니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
swagger 오류
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>pom.xml에 swagger관련 추가시There are test failures. Please refer to C:\Users\Owner\Desktop\RESTJPA\restjpa\target\surefire-reports for the individual test results. Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. 이런 오류가 나고또다른dependency에 원래 코드로 작성하면<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>3.0.0</version> </dependency> http://localhost:8080/v2/api-docs로 접속하면java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present오류가 뜹니다. 현재 버전 바뀌면서javax ->jakarta로 변경된것 같은데 어떻게 해결하나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello-mvc?name=spring! 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 똑같이 했는데오류가 나옵니다 ..ㅜㅜ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
3시간동안 했는데 해결이 안됩니다.. 도와주세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]데이터 베이스를 찾을수 없다고 합니다.프로젝트도 2번이나 새로 만들어 봤고 강의 보면서 다른게 있나 확인도 해봤는데 계속 안됩니다. DB의 문제일까요? org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springConfig' defined in file [C:\class\code\springboot\hello-spring2\bin\main\com\spring2\SpringConfig.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.8.jar:2.7.8] at com.spring2.HelloSpring2Application.main(HelloSpring2Application.java:10) ~[main/: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.7.8.jar:2.7.8]Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.25.jar:5.3.25] ... 24 common frames omittedCaused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.25.jar:5.3.25] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.25.jar:5.3.25] ... 38 common frames omittedCaused by: java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.3.25.jar:5.3.25] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:171) ~[spring-boot-autoconfigure-2.7.8.jar:2.7.8] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:123) ~[spring-boot-autoconfigure-2.7.8.jar:2.7.8] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~[spring-boot-autoconfigure-2.7.8.jar:2.7.8] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~[spring-boot-autoconfigure-2.7.8.jar:2.7.8] 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.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.25.jar:5.3.25] ... 39 common frames omitted이렇게 에러가 나오고 h2도 실행시킨 상태에서 했는데 원인을 모르겠습니다..
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
30강 log.info 에러
안녕하세요log.info()에 빨간줄이 그어지면서 에러가 났었습니다.저와 동일한 문제가 발생하신 분들께 도움이 될까 글 남깁니다.@Slf4j 어노테이션을 달아주니 log.info에 빨간줄이 사라지면서 작동하였습니다.다른 좋은 해결방법이 있다면 알려주세요!(참고 : https://okky.kr/articles/532274)
-
해결됨토비의 스프링 부트 - 이해와 원리
HelloController의 applicationContext 생성자 주입
안녕하세요.강의를 잘 듣고 있습니다! 다름이 아니라, Bean의 생명주기 메소드 강의에서 마지막 부분이 HelloController의 applicationContext를 생성자 주입하는 코드로 변경하면서 끝이 납니다. 그런데 DI와 단위 테스트 강의에서 HelloController의 테스트 코드를 작성할 때 보여주시는 HelloController.java의 코드를 보면 applicationContext를 생성자에서 파라미터로 받는 부분이 없어져 있습니다. 2개의 강의 사이에서 applicationContext를 파라미터로 받는 코드를 리팩토링하는 부분을 설명해주시는 부분이 제가 찾기에는 보이지 않아서... 혹시 보충 설명을 해주시면 감사하겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]헷갈리는 부분이 있어 질문드립니다. em.persist(member) 를 하게 되면 DB에 저장이 바로 되는건지, 영속성 컨텍스트에만 저장이 되는건지 궁금합니다. 그리고 DB 연결이 안되어 있는 상황에서 em.persist(member) 를 하게 된다면 어디에 저장이 되는 건지도 헷갈립니다.